.NET Decompiler with support for PDB generation, ReadyToRun, Metadata (&more) - cross-platform!
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

53 lines
1.8 KiB

using System;
using System.IO;
using System.Linq;
using WixSharp;
namespace ILSpy.Installer
{
internal class Builder
{
static public void Main()
{
Compiler.AutoGeneration.IgnoreWildCardEmptyDirectories = true;
#if DEBUG
var buildConfiguration = "Debug";
#else
var buildConfiguration = "Release";
#endif
var buildOutputDir = $@"ILSpy\bin\{buildConfiguration}\net472";
var project = new Project("ILSpy",
new InstallDir(@"%LocalAppData%\Programs\ILSpy",
new DirFiles(Path.Combine(buildOutputDir, "*.dll")),
new DirFiles(Path.Combine(buildOutputDir, "*.exe")),
new DirFiles(Path.Combine(buildOutputDir, "*.config")),
new Files(Path.Combine(buildOutputDir, "ILSpy.resources.dll")),
new Files(Path.Combine(buildOutputDir, "ILSpy.ReadyToRun.Plugin.resources.dll"))));
project.GUID = new Guid("a12fdab1-731b-4a98-9749-d481ce8692ab");
project.Version = AppPackage.Version;
project.SourceBaseDir = Path.GetDirectoryName(Environment.CurrentDirectory);
project.InstallScope = InstallScope.perUser;
project.InstallPrivileges = InstallPrivileges.limited;
project.ControlPanelInfo.ProductIcon = @"..\ILSpy\Images\ILSpy.ico";
project.MajorUpgrade = new MajorUpgrade {
Schedule = UpgradeSchedule.afterInstallInitialize,
AllowSameVersionUpgrades = true,
DowngradeErrorMessage = "A newer release of ILSpy is already installed on this system. Please uninstall it first to continue."
};
project.UI = WUI.WixUI_ProgressOnly;
project.ResolveWildCards().FindFile(f => f.Name.EndsWith("ILSpy.exe")).First()
.Shortcuts = new[] {
new FileShortcut("ILSpy", @"%ProgramMenu%")
};
Compiler.BuildMsi(project, Path.Combine(Environment.CurrentDirectory, "wix", $"ILSpy-{AppPackage.Version}.msi"));
}
}
}