当前位置: 首页 > news >正文

使用Visual Studio 2022 winform项目打包成安装程序.exe

winform项目打包

  • 1.安装扩展插件 Microsoft Visual Studio Installer Projects 2022
  • 2.在解决方案上新建一个setup project 项目
  • 3.新建成功如下图,之后添加你的winform程序生成之后的debug下的文件
  • 4.在Application Folder上点击右键->Add->项目输出->主输出。
  • 5.这里是新建快捷方式,在主输出文件上新建两个放到菜单和桌面,这样安装完就有快捷方式在菜单和桌面啦
  • 6.点击快捷方式这里可以选择安装软件的icon图标
  • 7.如果还需要提供卸载功能,在Application Folder上右键->Add文件"C:\Windows\System32\msiexec.exe",然后选中该exe创建快捷方式并命名为卸载MyApp。
  • 8.选中卸载程序,将属性Arguments设置为"/x ProductCode",其中ProductCode的值取自setup project属性中的ProductCode的值。
  • 9.最后点击安装项目生成安装程序

1.安装扩展插件 Microsoft Visual Studio Installer Projects 2022

在这里插入图片描述

2.在解决方案上新建一个setup project 项目

在这里插入图片描述

3.新建成功如下图,之后添加你的winform程序生成之后的debug下的文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.在Application Folder上点击右键->Add->项目输出->主输出。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

5.这里是新建快捷方式,在主输出文件上新建两个放到菜单和桌面,这样安装完就有快捷方式在菜单和桌面啦

在这里插入图片描述
移动快捷方式到这两个文件夹,桌面和菜单
在这里插入图片描述

6.点击快捷方式这里可以选择安装软件的icon图标

在这里插入图片描述

7.如果还需要提供卸载功能,在Application Folder上右键->Add文件"C:\Windows\System32\msiexec.exe",然后选中该exe创建快捷方式并命名为卸载MyApp。

在这里插入图片描述

8.选中卸载程序,将属性Arguments设置为"/x ProductCode",其中ProductCode的值取自setup project属性中的ProductCode的值。

在这里插入图片描述
在这里插入图片描述

9.最后点击安装项目生成安装程序

在这里插入图片描述

相关文章:

使用Visual Studio 2022 winform项目打包成安装程序.exe

winform项目打包 1.安装扩展插件 Microsoft Visual Studio Installer Projects 20222.在解决方案上新建一个setup project 项目3.新建成功如下图,之后添加你的winform程序生成之后的debug下的文件4.在Application Folder上点击右键->Add->项目输出->主输出…...

报错-idea pom.xml 有一条灰色横线

1. 背景 打开 idea 更新代码,发现有个 module 的 pom.xml 有一条灰色横线,导致这个 module 没有加载成功。 2. 原因 1) 可能本地 Remove 了这个 module 2)本地删除了这个 module ,又从远端拉取了回来 3&#xff09…...

openmediavault(OMV) (19)云相册(3)mt-photos

简介 MT Photos是一款为Nas用户量身打造的照片管理系统。通过AI技术,自动将您的照片整理、分类,包括但不限于时间、地点、人物、照片类型。可以在任何支持Docker的系统中运行它。详情可查看mtmt.tech官网,mt-photos是付费订阅使用的,也可以一次性付费永久使用,具体使用mt…...

基于openGauss5.0.0全密态数据库等值查询小案例

基于openGauss5.0.0全密态数据库等值查询小案例 一、全密态数据库简介二、环境说明三、测试步骤四、使用约束 一、全密态数据库简介 价值体现: 密态数据库意在解决数据全生命周期的隐私保护问题,使得系统无论在何种业务场景和环境下,数据在传…...

Oracle中varchar2和nvarchar2的区别

Oracle中的varchar2和nvarchar2都是可变长度的字符数据类型,这意味着它们能够根据实际存储的数据长度来动态调整占用的空间。但它们之间有以下主要区别: 1. 字符编码和存储: - VARCHAR2:存储的是字节字符串,对字符…...

linux环境下从一个服务器复制文件到另一个服务器

在Linux中使用scp命令可以将文件或目录从一台服务器复制到另外一台服务器。 # 从源服务器复制文件到目标服务器 scp /path/to/source_file usernamedestination:/path/to/destination_directory # 从源服务器复制目录及其内容到目标服务器 scp -r /path/to/source_directory us…...

JSoup 爬虫遇到的 404 错误解决方案

在网络爬虫开发中,使用JSoup进行数据抓取是一种常见的方式。然而,当我们尝试使用JSoup来爬虫抓取腾讯新闻网站时,可能会遇到404错误。这种情况可能是由于网站的反面爬虫机制检测到了我们的爬虫行为,从而拒绝了我们的请求。 假设我…...

Vue.set 方法原理

function set(target, key, value) {// 判断是否是数组,并且 key 是一个有效的索引值if (Array.isArray(target) && isValidArrayIndex(key)) {target.length Math.max(target.length, key)target.splice(key, 1, value)return value}// 判断 key 是否已经…...

CentOS 7的新特性

CentOS 7在发布时相较于CentOS 6引入了许多重要的变化和优化。以下是一些主要的改进和新特性: 系统初始化程序:CentOS 7使用了systemd作为其初始化系统,取代了之前版本的init系统。systemd提供了更快的启动时间和更好的管理服务。 内核更新&…...

Vue 模板编译原理

Vue 模板编译原理是指将 Vue 的模板转换为渲染函数的过程。在 Vue 中,模板被定义为 HTML 代码片段或者在 .vue 单文件组件中定义。当 Vue 实例化时,会将模板编译为渲染函数,该函数可以根据组件的状态生成虚拟 DOM 并更新视图。 Vue 的模板编…...

ElementUI的Table组件行合并上手指南

ElementUI的Table组件行合并 &#xff0c;示例用官网vue3版的文档 <el-table :data"tableData" :span-method"objectSpanMethod" border style"width: 100%; margin-top: 20px"><el-table-column prop"id" label"ID&qu…...

【ES6】Class继承-super关键字

目录 一、前言二、ES6与ES5继承机制区别三、super作为函数1、构造函数this1&#xff09;、首先要明确this指向①、普通函数②、箭头函数③、注意事项 2&#xff09;、其次要明确new操作符做了哪些事情 2、super()的用法及注意点1&#xff09;、用法2&#xff09;、注意点 四、s…...

做亚马逊测评不知道怎么找客户?这才是亚马逊测评的正确打开方式!

如今的跨境电商内卷严重&#xff0c;花费大量资金做广告推广的效果却微乎其微&#xff0c;这也是亚马逊测评迅速崛起的最根本原因。做亚马逊测评是近年来兴起的一种方式&#xff0c;许多卖家都需要大量的测评来提高自己的产品排名和信誉度。很多兄弟最近来问龙哥亚马逊测评怎么…...

传感器基础:传感器使用与编程使用(三)

目录 常用传感器讲解九--雨滴传感器具体讲解电路连接代码实现 常用传感器讲解十--光传感器根据亮度安排灯具体讲解电路连接代码实现 常用传感器讲解七--light cup&#xff08;KY-008&#xff09;具体讲解电路连接代码实现 常用传感器讲解十二--倾斜开关传感器&#xff08;KY-02…...

深入浅出:分布式、CAP 和 BASE 理论(荣耀典藏版)

大家好&#xff0c;我是月夜枫&#xff0c;一个漂泊江湖多年的 985 非科班程序员&#xff0c;曾混迹于国企、互联网大厂和创业公司的后台开发攻城狮。 在计算机科学领域&#xff0c;分布式系统是一门极具挑战性的研究方向&#xff0c;也是互联网应用中必不可少的优化实践&…...

vue3+elementPlus:el-drawer新增修改弹窗复用

在el-drawer的属性里设置:title属性&#xff0c;和重置函数 //html<!-- 弹窗 --><el-drawerv-model"drawer":title"title":size"505":direction"direction":before-close"handleClose"><el-formlabel-posit…...

使用Docker快速安装grafana

Docker 提供了一个轻量级、易于部署的容器化解决方案&#xff0c;让您能够方便地在不同环境中运行应用程序。以下是在 Docker 中安装 Grafana 的基本步骤&#xff1a; 文章目录 使用Docker快速安装grafana如何使用Grafana步骤 1&#xff1a;连接数据源步骤 2&#xff1a;创建仪…...

excel 函数技巧

1&#xff1a;模糊查询 LOOKUP(1,0/FIND(F1062,Sheet1!C$2:Sheet1!C$9135),Sheet1!B$2:Sheet1!B$9135) 函数含义&#xff1a;寻找F列1062行和sheet1中的C2行到C9135行进行模糊查询&#xff0c;返回该行对应的B2行到B9135行的结果。未查到返回结果0 函数公式&#xff1a; LO…...

Ubuntu安装WordPress并使用Nginx作为Web服务器

在Ubuntu上安装和配置WordPress并使用Nginx作为Web服务器&#xff0c;以下是一个简单的操作流程&#xff1a; 步骤 1: 安装Nginx sudo apt update sudo apt install nginx 启动Nginx并设置开机自启&#xff1a; sudo systemctl start nginx sudo systemctl enable nginx …...

[Linux]Ubuntu noVNC使用

又到了逛大型程序员交友 网站的时间了&#xff0c;今天你准备好了吗。 今天要推荐的一个有趣的项目是noVNC setup好以后是这个样子的&#xff0c;可以在浏览器登陆vnc&#xff0c;不需要再安装一个vnc client. setup的过程比较简单&#xff0c;分为以下几步&#xff1a; 1. v…...

从Simulink到Tina:硬件工程师如何更“接地气”地获取电路传递函数?

从Simulink到Tina&#xff1a;硬件工程师如何更“接地气”地获取电路传递函数&#xff1f; 在系统级仿真与PCB调试的鸿沟之间&#xff0c;硬件工程师常常面临一个尴尬的现实&#xff1a;Simulink的数值解虽然精确&#xff0c;却像黑箱般难以直接指导电路板上电阻电容的调整。当…...

不懂PMP的项目经理,正在被AI和敏捷时代淘汰

一、一个正在发生的残酷事实 张伟是一家传统制造企业的项目经理&#xff0c;拥有十年工作经验。他的日常工作是这样的&#xff1a;每天早上整理Excel进度表&#xff0c;中午开会协调资源&#xff0c;晚上更新甘特图&#xff0c;睡前发送项目周报。他觉得自己很忙、很重要。 直到…...

压接 vs 焊接:高速连接器组装工艺的选型指南与实战对比

摘要/前言在通信设备、工业控制及数据中心硬件设计中&#xff0c;连接器的组装工艺选择直接影响产品的可靠性、可维护性与生产良率。压接&#xff08;Press-Fit&#xff09;与焊接&#xff08;Soldering&#xff09;是当前通孔连接器最主要的两种电气互连方式。压接依靠过盈配合…...

Sub-agent 协同失效的 3 类边界场景:Claude Code 8.1 机制原理解析

1. Sub-agent 协同失效不是 Bug,是机制在“按说明书执行” 大多数人第一次遇到 Sub-agent 返回空响应、反复循环调用主 Agent、或在多轮协作后突然“忘记”前序任务时,第一反应是:配置错了?网络不稳定?模型退化了?我试过把 claude-code 从 8.0.3 升到 8.1.1,又降回 8.0…...

别再被0.1+0.2≠0.3搞懵了!用Python和Java代码手把手拆解IEEE-754浮点数存储

浮点数精度之谜&#xff1a;用代码揭开0.10.2≠0.3的真相 当你在Python控制台输入0.1 0.2时&#xff0c;得到的不是预期的0.3&#xff0c;而是0.30000000000000004。这个看似简单的数学运算为何会出现如此"诡异"的结果&#xff1f;本文将带你用Python和Java代码深入…...

如何无限期免费使用IDM:智能试用期重置完整指南

如何无限期免费使用IDM&#xff1a;智能试用期重置完整指南 【免费下载链接】idm-trial-reset Use IDM forever without cracking 项目地址: https://gitcode.com/gh_mirrors/id/idm-trial-reset 你是否为Internet Download Manager&#xff08;IDM&#xff09;的30天试…...

Steam账号被盗,手机邮箱都失效?别慌!我用支付宝账单截图成功找回(附详细客服案件创建流程)

Steam账号终极找回指南&#xff1a;当手机邮箱全失效时的支付宝账单申诉法 凌晨三点&#xff0c;盯着屏幕上"未找到关联账户"的红色提示&#xff0c;手指在键盘上悬停了十分钟——这是许多Steam玩家遭遇账号全维度被盗时的真实噩梦。当盗号者不仅修改了密码&#xf…...

MHMarkets迈汇:油价回落地缘风险有所缓和

MHMarkets迈汇&#xff1a;油价回落地缘风险有所缓和近期国际原油市场出现明显回吐&#xff0c;布伦特与WTI两大基准油价从前期高位双双滑落&#xff0c;地缘风险溢价随谈判预期升温而部分释放。市场围绕中东局势变化展开高频博弈&#xff0c;多空情绪快速切换。在这一背景下&a…...

三分钟带你读懂C++中的排序方式

在 C 中&#xff0c;有多种方式可以用于排序&#xff0c;每种方法都有其适用场景。以下是几种常见的排序方式&#xff1a;1. 使用标准库中的 sort 函数C STL&#xff08;标准模板库&#xff09;提供了 <algorithm> 头文件中的 sort 函数&#xff0c;这是最常用的排序方法…...

深度解读|当增强现实遇上美妆教学:帕克西的AR美妆实训解决方案

在职业院校的形象设计、美容化妆等专业中&#xff0c;实训教学长期面临耗材成本高、练习机会有限、考核标准难量化等难题。学生每练习一次就消耗一次化妆品&#xff1b;教师逐个检查妆容步骤&#xff0c;费时费力。 增强现实&#xff08;AR&#xff09;技术的介入&#xff0c;正…...