首页 > 编程语言 >C#--打包安装项目

C#--打包安装项目

时间:2023-03-25 14:58:07浏览次数:27  
标签:exe C# -- 文件夹 右键 卸载 快捷方式 安装 打包

使用VS2015的Visual Studio Installer打包安装项目,虽然整体操作很简单,但还是有几个特殊的点需要记一下,故写下此博客方便以后查阅

第一步,创建安装项目

如下:

 

 

 

里面最左侧的框框有三个文件夹

1.“应用程序文件夹”即"Application Folder"表示要安装的应用程序需要添加的文件;

2.“用户的‘程序’菜单”即"User's Programs Menu"表示:应用程序安装完,用户的“开始菜单”中的显示的内容,一般在这个文件夹中,需要再创建一个文件用来存放:应用程序.exe和卸载程序.exe;

3.“用户桌面”即"User's Desktop"表示:这个应用程序安装完,用户的桌面上的创建的.exe快捷方式。

第二步,右键“应用程序文件夹”,添加——文件

 

 添加的文件一般是已经编译生成过的应用程序项目的debug目录下的exe文件(即位于../bin/Debug文件夹下的主程序exe文件);

 

 

添加后,一般它会自动把exe程序所需的依赖项也加进来,如各种dll文件,在右侧的“Detected Dependencies”里面可以看到它自动导入了哪些依赖项,方便你检查是否有遗漏

 

 

 

 

 

接下来,可能还剩一些文件夹或者配置文件XML等没有自动加进来,这个时候就需要自己手动添加

方式也是一样,右键“应用程序文件夹”,添加——文件夹,添加——文件,这里就不再赘述

第三步,创建快捷方式

右键主程序exe文件,选择“创建快捷方式到……”

 

 至于快捷方式的名称、图标、描述等其他属性,可以在属性面板中设置,如下

 

 

第四步,添加卸载程序

既然有安装就有卸载,卸载程序其实是一个Windows操作系统自带的程序(C:Windows\System32\Msiexec.exe),只不过是通过给它传特殊的参数命令,来让它执行卸载

添加和设置卸载程序的操作如下:

首先,将卸载程序放在“应用程序文件夹”目录下,右键“应用程序文件夹”,添加——文件,在系统盘下找到这个路径文件——C:Windows\System32\Msiexec.exe添加进去

 

 由于Msiexec.exe这个名字不够直观,所以一般接下来我们会对它重命名,一般改为“卸载.exe”或“UnInstall.exe”,然后给它创建快捷方式并将快捷方式放到“用户程序菜单”目录下

 

 

接下来是很关键的一步,设置卸载参数,告诉卸载程序该卸载哪个

首先,找到安装项目的ProductCode,在安装项目的属性面板中可以看到,如下

 

 复制此ProductCode ,粘贴到“卸载.exe”快捷方式的Arguments属性,前面加/x空格,如下

 

 

Arguments=“/x {81575537-5736-457F-9DBE-857C1F67BE70}”记得/x后面一定要有个空格

第五步,其他设置

如果还想对安装程序进行其他设置,比如,友化安装欢迎界面,自定制安装步骤,修改注册表,设置启动条件(比如要求必须先安装指定的.net FrameWork版本才可以启动)等,可以右键安装项目,在View中可以进行选择设置,如下

 

 

有需要可以再去研究,这里就不详细赘述了

第六步,设置系统必备

一般我们开发的程序都有一个目标框架,也就是所依赖的.net Framework版本环境,如.net Framework 2.0/3.5/4.0/4.5等

要想我们的程序能在电脑上正常运行,首先就得保证电脑上装有指定的.net Framework版本框架,可以在安装包的属性中设置,启动安装前检查操作系统中是否安装了指定版本的框架或其他依赖,设置方法如下:

右键安装包项目,点开“属性”

 

然后点击“Prerequisites……”

 

 

 选择你程序需要的.net Framework版本以及其他依赖项

 

 

选择“从组件供应商的网站上下载系统必备组件”,这样一来,即使电脑上没有安装需要的.net Framework也不要紧,只要设置了这项,安装程序会自动从微软的官网上下载对应的组件并安装,是不是很方便

 

第七步,生成打包安装文件

右键安装项目,选择重新生成

 

 

 

然后打开解决方案文件夹下的Debug或Release文件夹,就可以看到生成的安装文件

 

 

 生成的setup.exe与setup.msi的区别
setup.exe里边包含了对安装程序的一些条件的检测,比如需要.net的版本是否安装等,当条件具备后,setup.exe接着调用setup.msi,而setup.msi则可以直接运行,如果你确定条件都具备的情况下。

标签:exe,C#,--,文件夹,右键,卸载,快捷方式,安装,打包
From: https://www.cnblogs.com/Gary1013/p/17254722.html

相关文章

  • 编写Hello World
    新建文件夹,记住路径,存放代码新建java文件文件后缀名为.java命名为Hello.java(系统可能不显示后缀名,需手动打开)编写代码1publicclassHello{2public......
  • c#打包安装程序默认安装路径设置
        c#打包安装程序默认安装路径设置......
  • Codeforces Round 859 (Div. 4) 题解集
    目录CF1807APlusorMinusDescriptionSolutionCodeCF1807BGrabtheCandiesDescriptionSolutionCodeCF1807CFindandReplaceDescriptionSolutionCodeCF1807DOddQueri......
  • 大数乘法,递归计算50的阶乘
    publicstaticvoidmain(String[]args){Stringresult=factrial(100);System.out.println(result);}//计算两个数的乘积privatesta......
  • Qt源码阅读(一) 信号槽的连接与调用
    信号槽连接目录信号槽连接1.信号的连接2槽的调用信号槽的连接,其实内部本质还是一个回调函数,主要是维护了信号发送Object的元对象里一个连接的列表。调用connect函数时,......
  • 关于ESXi 8 + Debian 11的VMware Tools安装
    问题描述今天登录vCenter查看虚拟机的时候,发现除了debian虚机的VMwareTools状态栏写着“未知”:查看虚拟机摘要的时候,发现“VMwareTools正在运行,版本:11333(客户机......
  • npm安装依赖环境报错(vite、@vitejs/plugin-legacy等)
    一、问题:在做vite +vue3项目,由于前端页面加载过慢,处理vite相关优化时安装相关插件提示的报错信息,在这里记录是方便遇到同样问题的小伙伴能快速解决问题。二、原因......
  • ez_baby_apk
    这题只能说太baby(卑鄙)啦......
  • PHP安装
    安装PHP7.4.33系统:CentOSLinuxrelease7.9.2009(Core),内核:3.10.0-1127.el7.x86_64安装过程   1.通过源码包编译安装,先下载php-7.4.33   2.通过yum提......
  • linux操作--1
    快照---Linux中快照功能类似于备份,当我们在操作linux系统时担心系统会出未知的异常,可以将系统进行备份。在vmware中右击想要操作的系统就能找到。2.**克隆与移植---l......