首页 > 编程语言 >C# Winform 打安装包

C# Winform 打安装包

时间:2024-09-06 18:26:24浏览次数:7  
标签:... Application C# 找到 点击 右键 安装包 Winform

  开发好一款Winform程序,好多都是直接拉Debug文件里的内容,直接运行,或者打个简易的压缩包。有时候还忘记依赖库,鸡零狗碎。首先视觉上觉得很low,客户也觉得很粗糙价不配位。因此这个5毛钱的特效还是要加上,毕竟几十万的项目款都付了。提升一下软件的B格,提升客户体验度。

一、下载安装扩展程序  Microsoft Visual Studio Installer Projects

  点击: 扩展 >> 管理扩展 >> 联机 >>输入:Microsoft Visual Studio Installer Projects >> 搜索 选择第一个 下载

  下载完成后,点击右下角关闭。关闭visual studio 软件后才会弹出安装界面。如果没有弹出,可以右键  >> 任务管理器,找到visual studio 的进程杀死即可。然后弹出安装界面 install ,点击 Modify 等它安装完成。

  二、创建 打包项目

  右键 解决方案 >> 添加 >> 新建项目 >> 输入:setup >> 选择 Setup Project  >> 下一步

   输入项目名称:{你的项目名称},项目位置:{选择你的项目存放位置},我这里图方便,直接放在桌面。点击创建

 

三、配置打包内容

1.添加运行程序

  右键 Application Folder >> Add >> 文件 >> 选择你项目的Debug文件夹 >> 选择全部文件(Ctrl+A) >> 打开

Debug文件夹 不知道在哪里的,可以右键 你要打包的项目 >> 在资源管理器中打开文件夹 >> 找到第一个文件夹bin >> 点击 Debug 然后复制整个文件路径即可。

 2.添加卸载程序

  2.1 右键 Application Folder >> Add >> 文件 >> 数据路径:C:\Windows\System32 >> 输入文件名:msiexec.exe >> 打开

   2.2 找到添加进来的 msiexec.exe 右键,选择 Create Shortcut to msiexec.exe

  2.3 右键我们的 setup项目,在属性中找到并复制 ProductCode 的值。然后找到刚才创建的 Shortcut to msiexec.exe,左键点击在属性中找到 Arguments。把刚才复制的值粘贴上来,并在前面加上 /X 空格。如果ProductCode 的值是{123},那么Arguments的值就是 /X {123}

   2.4 将 Shortcut to msiexec.exe 拖动到 User‘s Programs Menu 中

 

 

3.添加运行环境

  3.1 右键 Application Folder >> Add >> 项目输出 >> 选择项目 >> 主输出 >> 确定

   3.2 找到刚才生成的 “主输出 from...”,右键 创建快捷方式  

   3.3 把创建成功的快捷方式 “Shortcut to 主输出...” 拖动到 User‘s Desktop 中

   3.4 右键我们的 setup项目,点击 属性。点击 Prerequisites,选择安装系统必备组件,这里一般默认就行,主要看是否遗漏。然后 确定 确定 即可。

 4. 配置icon图标
  4.1 右键 Application Folder >> Add >> 文件,将你的icon文件导入

   4.2 点击 User’s Desktop,点击 "Shortcut to 主输出..."。在属性中找到 Icon,找到Browse, 选择你传入icon图片的文件夹 Application Folder 找到icon图片,确定。

 

5.修改名称

  分别找到桌面User’s Desktop 的 快捷方式,修改 Name,我们不要使用系统的。卸载快捷方式的名称也是一样修改一下。

 

4.生成安装包

  右键我们的 setup项目,点击生成。biubiubiu...  数3下就生成成功啦。

 

5. 验证安装包

  所谓小心使得万年船,自己测试没有问题再给客户使用,这是最基本的礼仪。在输出目录,我们找到生成的安装包。

   由于是开发环境无需配置新环境,我们这里直接安装 电池管理应用程序。

   运行程序,测试正常,Icon图标翻车,有待改进...

   卸载测试,点击卸载。安装目录清空,搞完收工...

 

标签:...,Application,C#,找到,点击,右键,安装包,Winform
From: https://www.cnblogs.com/zeussbook/p/18400801

相关文章

  • 「杂题乱刷2」CF1301C
    怎么没有二分的题解啊,写一篇。题目链接CF1301CAyoub'sfunction解题思路发现我们可以将问题转化成将\(n-m\)个\(1\)分成\(m\)份,设第\(i\)份的数字之和为\(sum_i\),则这样的分配方案的贡献为\(\frac{n\times(n+1)}{2}-\sum_{i=1}^{n}sum_i^2\)。容易发现要使......
  • 【Linux】CentOS 7 网卡突然启动不了的解决办法
    最近在了解Hadoop,但是在虚拟机关机之后,重新启动,网卡就不见了。 具体情况是这样的:1.用ifconfig查看,发现网卡不见了。2.用ifconfig-a查看,发现ens33网卡是在的,只是状态是down的。3.临时的解决方法:使用ifconfig命令,直接启动ens33网卡[root@centos7~]#ifconfigens33up然后,临时配置......
  • 人脸识别ArcFace 算法原理与实现
    在深度学习用于人脸识别方面,为了提高识别的准确率,研究者提出了ArcFace技术。ArcFace通过在Softmax损失函数上添加一种角度余弦距离的margin来提高人脸识别的准确率,ArcFace始终优于SOTA,且容易实现,计算开销可忽略不计。论文:ArcFace:AdditiveAngularMarginLossforD......
  • API 网关 OpenID Connect 实战:单点登录(SSO)如此简单
    作者:戴靖泽,阿里云API网关研发,Higress开源社区Member前言随着企业的发展,所使用的系统数量逐渐增多,用户在使用不同系统时需要频繁登录,导致用户体验较差。单点登录(SingleSign-On,简称SSO)正是为了解决这一问题。当用户登录一次后,即可获取所有系统的访问权限,不需要对每个单一系统逐......
  • 第十三讲:count()这么慢,我该怎么办?
    第十三讲:count(*)这么慢,我该怎么办?简概:count(*)的实现方式​ 你首先要明确的是,在不同的MySQL引擎中,count()有不同的实现方式。MyISAM引擎把一个表的总行数存在了磁盘上,因此执行count()的时候会直接返回这个数,效率很高;而InnoDB引擎就麻烦了,它执行count(*)的时候,......
  • 【YashanDB知识库】修改字段长度后,jdbc驱动接口报YAS-04007 Message:result set metada
    问题现象yashandb修改表的字段长度后,客户的业务接口报YAS-04007异常,截图如下:问题的风险及影响客户的业务在访问yashandb时异常出错,影响使用问题影响的版本所有的yashandb版本问题发生原因使用jdbc接口获取PreparedStatement以后,修改表的字段长度,再用前面获取的PreparedStatement继......
  • VBA之Excel应用第三章第一节:对象的层次结构
    《VBA之Excel应用》(版权10178983)是非常经典的,是我推出的第七套教程,定位于初级,目前是第一版修订。这套教程从简单的录制宏开始讲解,一直到窗体的搭建,内容丰富,实例众多。大家可以非常容易的掌握相关的知识,这套教程共三册,十七章,都是我们在利用EXCEL工作过程中需要掌握的知识点,希望大家......
  • PP-OCR技术原理与实现方法
    OCR(OpticalCharacterRecognition)是一种针对图像中文字进行自动识别的技术,有着悠久的研究历史和广泛的应用场景,如公文电子化、身份认证、数字金融系统、车牌识别等。此外,在工厂中,通过自动提取产品的文本信息,可以更方便地管理产品。学生的线下作业或试卷可以通过OCR系统实......
  • C语言-第七章:字符和字符串函数、动态内存分配
    传送门:C语言-第六章-加餐:其他自定义类型目录第一节:字符和字符串函数    1-1.strlen函数和sizeof关键字    1-2.memcpy内存拷贝函数    1-3.memmove内存拷贝函数    1-4.memset内存设置函数    1-5.strtok字符串切割函数......
  • C语言-第六章-加餐:其他自定义类型
    传送门:C语言-第六章:结构体目录第一节:位段    1-1.位段是什么    1-2.位段的大小第二节:联合体    2-1.联合体是什么    2-2联合体的大小第三节:枚举类型    3-1.枚举是什么第四节:结构体中的柔性数组    4-1.柔性数组......