WinForm用微软打包工具打包

WinForm用微软打包工具打包

1. 安装扩展

下载扩展Microsoft Visual Studio Installer Projects

点击扩展 —> 管理扩展
在这里插入图片描述
安装完之后重启VS就好了。

2. 新建Set up项目

点击解决方案 —> 添加 —> 新建项目

选择这个Setup Project
在这里插入图片描述

创建打包项目
在这里插入图片描述

在这里插入图片描述
安装项目,三个目录的作用
Application Folder: 即 “应用程序文件夹”,表示要安装的应用程序需要添加的文件(注:如果项目中用了三方开源插件,也需要在里面添加上)
User‘s Desktop: 即 “用户桌面”,表示这个应用程序安装完,用户的桌面上的创建的.exe快捷方式
User’s Programs Menu: 即 “用户的程序菜单”,表示应用程序安装完,用户的“开始菜单”中的显示的内容,一般在这个文件夹中,需要再创建一个文件夹用来存放:应用程序.exe和卸载程序.exe

3. 应用程序文件夹下添加文件

把项目Release目录下所有文件全部拖进Application Folder里面,因为有可能生成的文件夹里面有嵌套子文件夹,这些子文件夹也需要一起存在的,不然引用会有问题。

在这里插入图片描述
拖进来就变成这样子了。

4. 添加运行环境

Application Folder —> Add —>项目输出,选择项目、主输出 —> 确定
在这里插入图片描述

默认选项就可以了

创建主输出文件的快捷方式,拖进User’s Desktop(用户桌面)
在这里插入图片描述
然后重命名一下
在这里插入图片描述
右击您新建的Setup项目—> 属性—>点击Prerequisites…

在这里插入图片描述
这个根据你项目需要选择就行了,不需要的话也可以不用装。

5. 添加程序图标

右击Application Folder(应用程序文件夹)—> Add —> 文件,将你的icon文件导入

在这里插入图片描述
右键User’s Desktop下的主输出快捷方式–>选择属性窗口

在这里插入图片描述
选中刚刚添加的图标文件就行了

6. 添加卸载程序

右击Application Folder —> Add —> 文件 —>把C:\Windows\System32下的msiexec.exe文件添加到Application Folder中,创建快捷方式,并重命名为UninstallCompareTool,然后移动到User’s Programs Menu里面

在这里插入图片描述
在这里插入图片描述
点击刚刚新建的Setup项目,复制ProductCode 属性的值
在这里插入图片描述

点击刚刚创建的卸载程序快捷方式 —> 将复制的ProductCode 的属性值粘贴在Arguments 属性中,然后在最前面加上 /X (PS:/X后有一个空格)
在这里插入图片描述

7. 生成安装项目

右击新建的Setup项目—> 生成

在这里插入图片描述

在新建的Setup项目的目录下即可看到如下文件,debug文件夹,会看到生成了两个文件“XX.exe”和“XX.msi”。其中如果使用exe文件进行安装,则必须要有.msi文件。如果选择.msi文件进行安装,可以不需要exe文件
在这里插入图片描述
双击即可启动安装向导

在这里插入图片描述
一直下一步就可以了

在这里插入图片描述
安装成功~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/600293.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

就业班 第二阶段(python) 2401--4.3 day2 python2

七、标准数据类型 1、为什么编程语言中要有类型 类型有以下几个重要角色: 对机器而言,类型描述了内存中的电荷是怎么解释的。 对编译器或者解释器而言,类型可以协助确保上面那些电荷、字节在程序的运行中始终如一地被理解。 对程序员而言…

ACM ICPS独立出版 | 第三届智能无人系统与人工智能国际会议(SIUSAI 2024)

会议简介 Brief Introduction 2024年第三届智能无人系统与人工智能国际会议(SIUSAI 2024) 会议时间:2024年5月17日-19日 召开地点:中国青岛 大会官网:www.siusai.org 2024年第三届智能无人系统与人工智能国际会议(SIUSAI 2024)由青岛大学主办…

C语言 函数——函数的定义、调用和参数传递

目录 模块化编程(Modular Programming) 函数的分类 函数的定义 使用函数编程的好处 函数调用的基本方式 函数调用时的数据传递 函数调用的过程 main函数的特殊性 大话三国 分而治之 如果将main()函数比作诸葛亮&#xff…

性能监控工具的配置及使用 - Spotlight On Oracle(oracle)

一、 Spotlight On Oracle(oracle) 1.1. 工具简介 Spotlight是一个强有力的Oracle数据库实时性能诊断工具,提供了一个直观的、可视化的数据库活动展现。Spotlight可视化展现性能瓶颈,一旦某个指标超出可接受的阀值的话。而且,通过下钻功能,DBA可以简单、快速地追查性能…

✌2024/4/3—力扣—盛最多水的容器

代码实现: 方法一:暴力解法——遍历左右边,找出所有面积,取最大值——超时 #define min(a, b) ((a) > (b) ? (b) : (a)) #define max(a, b) ((a) > (b) ? (a) : (b))int maxArea(int *height, int heightSize) {int ans …

扭蛋机小程序搭建,线上扭蛋机带来的巨大收益

扭蛋机作为当下潮玩行业的一种,深受消费者的喜爱,市场规模不断扩大。扭蛋机在最开始的受众群体是儿童,随着市场的发展,扭蛋商品的创意越来越多,开始推出各类适合成年人的扭蛋商品。 在近几年的时间中,扭蛋…

基于单片机手机屏蔽器系统仿真设计

**单片机设计介绍,基于单片机手机屏蔽器系统仿真设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机手机屏蔽器系统的仿真设计主要涉及到手机信号屏蔽的原理、单片机控制逻辑设计、仿真软件的选择与使用以…

Redis的三种部署方案

文章目录 单机模式主从复制哨兵模式分片集群 在Redis中提供的集群方案总共有三种:单机模式,主从复制集群、哨兵模式,Redis分片集群 单机模式 Redis 只运行在一台服务器上,并且所有的数据都存储在这一台服务器的内存中。 主从复制…

ROC指标交易成功,不是了解优点WeTrade众汇更正视缺点

在上篇文章中,我们了解什么是ROC指标同时也了解了ROC指标的优势,但在WeTrade众汇看来如果真正的想使用ROC指标交易成功,在了解ROC指标优点的基础上,我们更应该正视 ROC指标的缺点,我们才能在交易的路上走的更远。 下面…

JavaScript逆向爬虫——无限debugger的原理与绕过

debugger 是 JavaScript 中定义的一个专门用于断点调试的关键字,只要遇到它,JavaScript 的执行便会在此处中断,进入调试模式。 有了 debugger 这个关键字,就可以非常方便地对 JavaScript 代码进行调试,比如使用 JavaSc…

linux重装系统步骤 包含raid【主要针对服务器重装

重装需要记录的信息 通过管理口进入系统: 1、 使用管理口ip,在浏览器中打开 并登陆进管理口界面 2、 虚拟控制台更改插件类型:如java、HTML5等,会话共享操作选择-完全访问-应用-启动虚拟控制台 需要记录信息如下: …

Linux下场景模拟--cpu、内存打满测试

Linux下场景模拟–cpu、内存打满测试 打满CPU占用 编写脚本vi /root/cpu_run_full.sh vi /root/cpu_run_full.sh填写如下内容&#xff1a; #!/bin/bash function while_run_cpu() {while true;doi2;done }function cpu_full() {for ((i0; i<$1; i));dowhile_run_cpu &am…