WixSharp是一个用于创建Windows Installer(MSI)包的开源库,它允许使用C#编程语言来定义安装程序的内容和行为。
1.安装相关扩展
在Visual Studio 中的标题栏 扩展-->管理扩展 中搜索WixSharp Project Templates并安装。
继续搜索 WiX v3 - Visual Studio 2022 Extension并安装。
安装完成之后关掉Visual Studio,这时会启动安装,等待全部安装完成在打开Visual Studio使用。
2.创建WiX3项目
创建完成
3.根据需求进行自定义界面和功能的开发
配置自己需要打包的程序路径/安装包名称,快捷方式等进行编码。
internal class Program
{
static void Main()
{
string path = "D:\\DrLaser\\Git\\TCSE_TBC_B4XS_Beckoff\\DRsoft.Application\\TCSE_XBC\\bin\\Debug\\net6.0-windows";
Dir dir = AddDirectoryToProject(path);
var shortcut = new ExeFileShortcut
{
Name = "TCSE_XBC", // 快捷方式名称
Target = @"[INSTALLDIR]\TCSE_XBC.exe", // 目标文件路径
WorkingDirectory = "[INSTALLDIR]", // 工作目录
//IconFile = @"C:\Users\Lenovo\source\repos\WixSharp_Setup61\WixSharp_Setup61\favicon.ico", // 可选的图标路径
//Arguments = "-argument1 value1 -argument2 value2" // 可选的命令行参数
};
Dir dirDesktop = new Dir(@"%Desktop%", shortcut);
dir.AddDir(dirDesktop);
ManagedProject project = new ManagedProject("TCSE_XBC",
new Dir(@"%ProgramFiles%\TCSE_XBC",
dir));
project.GUID = new Guid("6fe30b47-2577-43ad-9095-1861ba25889b");
project.ManagedUI = new ManagedUI();
project.ManagedUI.InstallDialogs.Add<WixSharp_Setup61.WelcomeDialog>()
.Add<WixSharp_Setup61.LicenceDialog>()
.Add<WixSharp_Setup61.FeaturesDialog>()
.Add<WixSharp_Setup61.InstallDirDialog>()
.Add<WixSharp_Setup61.Test1Dialog>()
.Add<WixSharp_Setup61.ProgressDialog>()
.Add<WixSharp_Setup61.ExitDialog>();
project.ManagedUI.ModifyDialogs.Add<WixSharp_Setup61.MaintenanceTypeDialog>()
.Add<WixSharp_Setup61.FeaturesDialog>()
.Add<WixSharp_Setup61.ProgressDialog>()
.Add<WixSharp_Setup61.ExitDialog>();
project.BuildMsi();
}
static Dir AddDirectoryToProject(string dirPath)
{
DirectoryInfo di = new DirectoryInfo(dirPath);
Dir wixDir = new Dir(di.Name);
foreach (FileInfo fi in di.GetFiles())
{
if (!fi.Name.EndsWith(".pdb"))
{
wixDir.AddFile(new File(fi.FullName));
}
}
foreach (DirectoryInfo subDir in di.GetDirectories())
{
wixDir.AddDir(AddDirectoryToProject(subDir.FullName));
}
return wixDir;
}
}
对于熟悉WPF开发的人来说可以将Program.cs里面实现打代码添加到自己自己的框架中实现。在生成的案例代码中也是基于Caliburn.Micro框架实现的,可根据自身情况调整成为常用的MVVM结构。
可以自行写一个WPF运行界面,将配置放到界面中选择和配置,提升程序的通用性。
4.生成程序安装包
运行程序就会生成一个程序安装包
5.安装界面展示
双击安装包进行安装