WinForm用微软打包工具打包

news2024/10/7 20:35:11

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.coloradmin.cn/o/1578870.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

nandgame中的asm编程PUSH_VALUE、ADD、SUB、NEG、AND、OR

参考:https://zhuanlan.zhihu.com/p/613188641 PUSH_VALUE题目说明及答案 将值推送到堆栈上。 提示:该值将作为宏的替换值提供,但在测试时,您可以在“测试工具”框中设置该值。现在,我们引入了一个使用占位符的宏。宏…

nginx This request has been blocked; the content must be served over HTTPS问题处理

This request has been blocked; the content must be served over HTTPS问题处理 1.问题现象2.解决问题3.解决后的现象4.proxy_set_header x-forwarded-proto 作用 1.问题现象 Mixed Content: The page at https://www.ssjxx.cn/ssjy/viy-edu/index.html?systemCodeTW0010#/…

iOS-获取Xcode工程中文件的路径

1、使用Create folder references的Add folders的方式把文件或者文件夹拖到Xcode工程中 拖入时的设置参考下图 注意拖入到工程之后文件夹是蓝色的(Xcode10.1环境) 2、代码具体实现: 使用NSBundle的API,然后拼接具体路径即可 NS…

区块链与数字身份:探索Facebook的新尝试

在数字化时代,随着区块链技术的崛起,数字身份成为了一个备受关注的话题。作为全球最大的社交媒体平台之一,Facebook一直在探索如何利用区块链技术来改善数字身份管理和用户数据安全。本文将深入探讨Facebook在这一领域的新尝试,探…

【ArcGIS微课1000例】0109:ArcGIS计算归一化水体指数(NDWI)

文章目录 一、加载数据二、归一化水体指数介绍三、归一化水体指数计算四、注意事项一、加载数据 加载配套数据0108.rar(本实验的数据与0108的一致)中的Landsat8的8个单波段数据,如下所示: Landsat8波段信息对照表如下表所示: 接下来学习在ArcGIS平台上,基于Landsat8数据…

GPT-4对多模态大模型在多模态预训练、 理解生成上的启发

传统人工智能 模型往往依赖大量有标签数据的监督训练,而且一个模型一般只能解决一个任务,仅适用于单一场景, 这使得人工智能的研发和应用成本高,场景适应能力弱,难以规模化应用。 常见的多模态任务大致可以分为两类: 多模态理解任务,如视频 分类、视觉问答、跨模态检索、指代…

5G如何助力物流智能化转型

导语 大家好,我是智能仓储物流技术研习社的社长,你的老朋友,老K。行业群 新书《智能物流系统构成与技术实践》人俱乐部 整版PPT和更多学习资料,请球友到知识星球 【智能仓储物流技术研习社】自行下载 智能制造-话题精读 1、西门子…

Maven的scope详解

依赖范围介绍 maven 项目不同的阶段引入到classpath中的依赖是不同的,例如,编译时,maven 会将与编译相关的依赖引入classpath中,测试时,maven会将测试相关的的依赖引入到classpath中,运行时,mav…

菜狗学前端之JS高级笔记

老样子。复制上来的图片都没了,想看原版可以移步对应资源下载(资源刚上传,还在审核中) (免费) JS高级笔记https://download.csdn.net/download/m0_58355897/89102910 一些前提概念 一 什么是js高级 js高级是对js基础语法的一个补充说明,本质…

JetBrains IDE(IDEA/WebStorm)配置GitHub Copilot

关于 GitHub Copilot 和 JetBrains IDE GitHub Copilot 在编写代码时提供 AI 对程序员的自动完成样式的建议。 有关详细信息,请参阅“关于 GitHub Copilot Individual”。 如果使用 JetBrains IDE,可以直接在编辑器中查看并合并来自 GitHub Copilot 的…

asp.net网上水果销售平台 水果购物商城系统+sqlserver

网上水果销售平台 说明文档 运行前附加数据库.mdf(或sql生成数据库) 主要技术: 基于asp.net架构和sql server数据库 功能模块: asp.net网上水果销售平台 水果购物商城系统 用户功能有 网站首页 全部水果 我的订单 购物车用户…

python-flask后端知识点

anki 简单介绍: 在当今信息爆炸的时代,学习已经不再仅仅是获取知识,更是一项关于有效性和持续性的挑战。幸运的是,我们有幸生活在一个科技日新月异的时代,而ANKI(Anki)正是一款旗舰级的学习工具…

探索算力(云计算、人工智能、边缘计算等):数字时代的引擎

引言 在数字时代,算力是一种至关重要的资源,它是推动科技创新、驱动经济发展的关键引擎之一。简而言之,算力即计算能力,是计算机系统在单位时间内完成的计算任务数量或计算复杂度的度量。随着科技的不断发展和应用范围的不断扩大…

在ubuntu系统上安装ffmpeg支持rrweb使用rrvideo对视频文件转mp4格式遇到的一些问题及解决办法

在ubuntu系统上安装ffmpeg支持rrweb使用rrvideo对视频文件转mp4格式遇到的一些问题及解决办法 1,ubuntu系统上安装ffmpeg4.4.1稳定版本1,ubuntu系统上安装ffmpeg4.4.1稳定版本 按照ChatGPT3.5来 sudo apt updatesudo apt install build-essential git sudo apt-get instal…

Qt 中的项目文件解析和命名规范

🐌博主主页:🐌​倔强的大蜗牛🐌​ 📚专栏分类:QT❤️感谢大家点赞👍收藏⭐评论✍️ 目录 一、Qt项目文件解析 1、.pro 文件解析 2、widget.h 文件解析 3、main.cpp 文件解析 4、widget.cpp…

智慧公厕:提升城市管理效率,改善居民生活体验

智慧公厕作为城市基础设施的重要组成部分,正逐渐成为改善城市品质和提升居民生活体验的一项关键措施。通过智能化管理、数字化使用和信息化运行,智慧公厕不仅可以为城市居民带来更舒适便利的使用体验,而且对于城市的高质量发展、宜居性和包容…

解决Django中的UnicodeDecodeError问题

在使用Django进行Web开发时,有时会遇到一些由于编码不一致引起的问题,特别是在处理文件读写操作时。一个常见的错误是UnicodeDecodeError,其表现为gbk codec cant decode byte 0xa6 in position 9737: illegal multibyte sequence。这个问题通…

CSS3如何实现雷达扫描图(动态样式)

动态样式控制雷达扫描和暂停&#xff1a; //html部分&#xff1a; <view class"radar" :style"{--state:animationPlayState}"></view>data部分&#xff1a; animationPlayState: paused, methods: changeStatus(){this.animationPlayState …

在 VS Code 中使用 GitHub Copilot

Code 结合使用。 GitHub Copilot 是什么 GitHub Copilot 是一个可以帮助你更简单、更快速地编写代码的工具&#xff0c;由 GPT-3 提供支持。你只需编写所需代码的描述——例如&#xff0c;编写一个函数来生成一个随机数&#xff0c;或对一个数组进行排序——Copilot 就会为你…

01 Php学习:导学篇

Php是什么&#xff1f; PHP 是服务器端脚本语言。 PHP&#xff08;Hypertext Preprocessor&#xff09;是一种通用开源脚本语言&#xff0c;主要用于服务器端开发。PHP脚本在服务器端执行&#xff0c;生成动态网页内容或执行服务器端任务。PHP可以嵌入到HTML中&#xff0c;也…