C# 项目制作msi和exe安装文件

发布时间 2023-04-17 14:23:37作者: log9527

MSI文件和EXE文件区别:

MSI 作为安装包的标准格式,简化了软件打包过程,也提高了安装到恶意程序的难度。EXE 作为安装包的可塑性比较强,可以客制化程度更高的完成安装,但是需要大量额外工作,从开发者的角度来看,MSI 无疑提供了更高的便捷性,因此 MSI 逐渐变为趋势,从很多软件的安装包也逐渐变为 MSI 就能看出。

今天主要讲.msi文件的制作过程:

  1. 新建“Setup Project”项目

    应用程序文件夹:表示要安装的应用程序需要添加的文件
    用户的“程序”菜单:表示应用程序安装完,用户的"开始菜单"中的显示的内容,一般在这个文件夹中,需要再创建一个文件用来存放:应用程序.exe和卸载程序.exe
    用户桌面:表示这个应用程序安装完,用户的桌面上的创建的.exe快捷方式

  2. 选择应用程序文件夹(Application Folder)----右键----Add----项目输出,添加自己的项目即可,如下图:

  3.  添加卸载程序。即在添加你的应用程序项目的时候,多添加一个msiexec.exe进去,这个文件在c:\windows\system32文件夹下

  4. 为程序创建快捷方式(添加用户的程序菜单)

    选中主输出FormInstallPackageDemo(活动)  ----右键----“create shortcut to 主输出FormInstallPackageDemo(活动)” 和右键卸载程序创建卸载快捷方式。 创建出来的快捷方式是可以修改的,然后把这个拖放到用户桌面【User's Desktop】,再重复一遍这个步骤,拖放到用户的程序菜单【User's Program Menu】中

     

  5. 为用户桌面创建快捷方式(这里不需要卸载的快捷方式)
    把运行的快捷方式拖拽进User's Desktop文件夹即可,同理如果需要创建菜单的运行和卸载的快捷方式,可以重新创建一个运行的快捷方式,并把运行和卸载的快捷方式拖拽进User's Programs Menu(可以在User's Programs Menu文件夹先添加一个文件夹,在放快捷方式,这样在菜单下就同样会有文件)

  6. 还可以给快捷方式设置图标

  7. 设置卸载属性

     将code复制到卸载快捷方式的Argument属性时,需要在code前面加【/x 】,x后面有空格,x不分大小写,即在Aguements属性中输入"/x {ProductCode}"

  8. 生成即可得到相应的msi安装文件