private static void Main(string[] args) { var dir = new DirectoryInfo(@"..\..\..\FirmwarePacker\bin\Release"); string exeFileFullName = dir.EnumerateFiles("*.exe").First().FullName; string exeFileName = Path.GetFileName(exeFileFullName); Assembly assembly = Assembly.LoadFile(exeFileFullName); const string projectName = "FmPack"; var mainFeature = new Feature("Программа", true) { AllowChange = false, ConfigurableDir = "INSTALLDIR" }; var project = new Project(projectName, new Dir(mainFeature, InstallerHelper.GetSautProgramLocation(projectName), new Files(dir.FullName + "\\*.*", InstallerHelper.IsFileDesired)), // Environment Variables new EnvironmentVariable("FmPack", "\"[INSTALLDIR]" + exeFileName + "\""), // Shortcuts new Dir(mainFeature, @"%ProgramMenu%\saut", new ExeFileShortcut(projectName, "[INSTALLDIR]" + exeFileName, "") { WorkingDirectory = "INSTALLDIR" } ), new Dir(mainFeature, "%Desktop%", new ExeFileShortcut(mainFeature, projectName, "[INSTALLDIR]" + exeFileName, "") { WorkingDirectory = "INSTALLDIR" } )) { DefaultFeature = mainFeature, OutDir = @"..\..\..\installers" }; project.ResolveWildCards(true) .FindFile(f => f.Name.EndsWith(exeFileName)) .First() .AddAssociation(new FileAssociation("fpc", "application/firmware-project", "Открыть", "\"%1\"") { Icon = "project.ico", Description = "Файл проекта для FmPack" }); project.SetBasicThings(new Guid("1E7AA096-4665-4BE0-A5EB-D7EE62616E38"), DotNetVersion.DotNet4); project.SetInterface(InstallerInterfaceKind.SelectDirectory); project.SetProjectInformation(assembly, @"..\..\..\FirmwarePacker\icon.ico", "https://repo.nposaut.ru/#/tools?tool=FmPack"); string msi = Compiler.BuildMsi(project); InstallerHelper.SignInstaller(msi); }
private static void Main(string[] args) { var dir = new DirectoryInfo(@"..\..\..\LightUpdater\bin\Release"); string exeFileFullName = dir.EnumerateFiles("*.exe").First().FullName; string exeFileName = Path.GetFileName(exeFileFullName); Assembly assembly = Assembly.LoadFile(exeFileFullName); string projectName = assembly.GetCustomAttributes<AssemblyTitleAttribute>().First().Title; var mainFeature = new Feature("Программа", true) { AllowChange = false, ConfigurableDir = "INSTALLDIR" }; var project = new Project(projectName, new Dir(mainFeature, InstallerHelper.GetSautProgramLocation(projectName), new Files(dir.FullName + "\\*.*", InstallerHelper.IsFileDesired)), // Shortcuts new Dir(mainFeature, @"%ProgramMenu%", new ExeFileShortcut(projectName, "[INSTALLDIR]" + exeFileName, "") { WorkingDirectory = "INSTALLDIR" }, new ExeFileShortcut(projectName + " (250 кбод)", "[INSTALLDIR]" + exeFileName, "/can1:250000 /can2:250000") { WorkingDirectory = "INSTALLDIR" } ), new Dir(mainFeature, "%Desktop%", new ExeFileShortcut(mainFeature, projectName, "[INSTALLDIR]" + exeFileName, "") { WorkingDirectory = "INSTALLDIR" } )) { DefaultFeature = mainFeature, OutDir = @"..\..\.." }; project.ResolveWildCards(true) .FindFile(f => f.Name.EndsWith(exeFileName)) .First() .AddAssociation(new FileAssociation("sfp", "application/firmware-package", "Прошить", "\"%1\"") { Icon = "sfp.ico", Description = "Файл пакета прошивки" }); project.SetBasicThings(new Guid("B390695C-291F-4B7F-8E13-1630F2BF12F1"), DotNetVersion.DotNet4); project.SetInterface(InstallerInterfaceKind.SelectDirectory); project.SetProjectInformation(assembly, @"..\..\..\LightUpdater\icon.ico", "https://repo.nposaut.ru/#/tools?tool=CanProg"); string msi = Compiler.BuildMsi(project); InstallerHelper.SignInstaller(msi); Console.ReadLine(); }