C# 项目制作msi和exe安装文件
MSI文件和EXE文件区别:
MSI 作为安装包的标准格式,简化了软件打包过程,也提高了安装到恶意程序的难度。EXE 作为安装包的可塑性比较强,可以客制化程度更高的完成安装,但是需要大量额外工作,从开发者的角度来看,MSI 无疑提供了更高的便捷性,因此 MSI 逐渐变为趋势,从很多软件的安装包也逐渐变为 MSI 就能看出。
今天主要讲.msi文件的制作过程:
- 新建“Setup Project”项目
应用程序文件夹:表示要安装的应用程序需要添加的文件
用户的“程序”菜单:表示应用程序安装完,用户的"开始菜单"中的显示的内容,一般在这个文件夹中,需要再创建一个文件用来存放:应用程序.exe和卸载程序.exe
用户桌面:表示这个应用程序安装完,用户的桌面上的创建的.exe快捷方式 - 选择应用程序文件夹(Application Folder)----右键----Add----项目输出,添加自己的项目即可,如下图:
-
添加卸载程序。即在添加你的应用程序项目的时候,多添加一个msiexec.exe进去,这个文件在c:\windows\system32文件夹下
- 为程序创建快捷方式(添加用户的程序菜单)
选中主输出FormInstallPackageDemo(活动) ----右键----“create shortcut to 主输出FormInstallPackageDemo(活动)” 和右键卸载程序创建卸载快捷方式。 创建出来的快捷方式是可以修改的,然后把这个拖放到用户桌面【User's Desktop】,再重复一遍这个步骤,拖放到用户的程序菜单【User's Program Menu】中
- 为用户桌面创建快捷方式(这里不需要卸载的快捷方式)
把运行的快捷方式拖拽进User's Desktop文件夹即可,同理如果需要创建菜单的运行和卸载的快捷方式,可以重新创建一个运行的快捷方式,并把运行和卸载的快捷方式拖拽进User's Programs Menu(可以在User's Programs Menu文件夹先添加一个文件夹,在放快捷方式,这样在菜单下就同样会有文件) - 还可以给快捷方式设置图标
- 设置卸载属性
将code复制到卸载快捷方式的Argument属性时,需要在code前面加【/x 】,x后面有空格,x不分大小写,即在Aguements属性中输入"/x {ProductCode}"
- 生成即可得到相应的msi安装文件