前期准备
- Visual Studio 安装插件 Microsoft Visual Studio Installer Projects
建立项目
- 项目一 : Visual C#——Windows桌面——类库(Net Framework),本例子命名为CustomInstaller
- 项目二 : 其他项目类型——Visual Studio Installer——Setup Project,本例子命名为SetupTest
项目构建
CustomInstaller项目构建
- 删除现有代码文件
- 添加——新建项——安装程序类(本例子命名为Installer.cs)
- 重写OnAfterInstall方法
protected override void OnAfterInstall(IDictionary savedState)
{
string LogPath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\Temp\\";
if (!Directory.Exists(LogPath))
Directory.CreateDirectory(LogPath);
string filename = LogPath + "SetupLog.txt";
using (StreamWriter sw = new StreamWriter(filename, true))
{
sw.WriteLine(DateTime.Now.ToString("[yyyy-MM-dd HH:mm:ss] ") + "安装完成!");
}
}
SetupTest项目构建
- 项目右键——Add——项目输出,项目选择CustomInstaller,类型选择主输出
- 项目右键——View——文件系统,在Application Folder文件夹下添加要打包的文件(夹),在安装包执行后,会将该文件夹解压到安装目录的同路径
- 项目右键——View——自定义操作,在Install文件夹下添加自定义操作,并在弹出界面中选择Application Folder文件夹下的主输出 from CustomInstaller(Active)
项目打包
- 将SetupTest项目打包,最后在Debug文件夹下会有一个exe文件和一个msi文件,其中msi文件为安装包可单独使用,exe文件为安装工具,需配合msi文件使用
- 如果自定义安装过程中使用了管理员权限(如操作注册表等),可将exe文件的属性——兼容性——以管理员身份运行此程序勾选并保存
- 至此打包完成