【C#】【winform】Microsoft Visual Studio Installer Project 打包应用程序全部过程

提示:只针对扩展包来完成打包的工作过程。

文章目录


前言

在做完C#和winform的开发,完成之后,需要做一些打包的工具,在这个过程中遇到一些问题,所以记录下我的操作过程和遇到的异常情况。


一、Microsoft Visual Studio Installer Project 是什么?

支持快速打包的插件扩展

二、安装

1.安装Microsoft Visual Studio Installer Project

在扩展--->搜搜 Microsoft Visual Studio Installer Project,安装,然后等待下载完成,完成之后关闭Visual Studio,等待一会会自动弹出界面安装完成该扩展

三、安开始打包

1.添加setup

1.在解决方案上面右键,添加-新建项目

2.搜索setup,如图选择setup project,一直下一步,最后会在解决方案管理器里面生成一个setup样式的文件如图:


3.这边就可以开始配置打包的相关功能

1.在setup项目上面右键->view->文件系统
  • 1.Application Folder:软件的文件等,可以在这个下面导入文件或者是文件夹内容。
  • 2.Users Desktop:桌面,可以设置在桌面的快捷按键工。
  • 3.剩下的那个是在菜单栏里面的快捷方式,同时可以设置图标
2.Application Folder上面右键-->add-->项目输出,选择主输出,确定,右边会生成文件
3.制作应用的快捷按键和图标

Application Folder里面找到主输出相关字样,右键,创建快捷方式,如图,在产生的快捷方式右键剪切,复制到Users Desktop

如图,选择复制过来的快捷方式,查看属性 :可以变更里面的name:快捷按键的名字,icon,可以选择图标,需要是.con格式的(.icon的分辨率不能太大,建议是128,或者64*64,太大了可能就不显示了

然后用同样的操作复制快捷方式到user programs menu里面,同样操作。后面就可以在任务栏显示出来该软件的快捷方式和图标

三.打包生成

在setup项目上面右键,可以生成或者是重新生成,生成成功之后,可以选择安装,那么就可以安装该软件到电脑上面,卸载会卸载该软件,在文件资源管理器...打开可以看到软件,是一个exce和msi.安装需要这两个都存在。

四.可能遇到的问题

1.在安装的界面,有更加细节的功能添加,比如在安装界面可以输入相关数据,然后,软件可以获取到输入的这些数据,比如lience的作用等。可以在view-自定义操作里面操作。
2.出现有些功能不能正常的使用,需要管理员权限才能使用的情况

解决的办法:在App_All 右键,属性-安全性-启用clickOnce,这个时候会新增到一个文件

找到:

复制代码
<requestedExecutionLevel level="asInvoker" uiAccess="false" />

替换为:
 <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

保存之后,在到属性里面去除勾选clickOnce;


然后重新生成打包,就可以用管理员的权限来运行打包生成的软件。

总结

打包总的来说还不是很难的一个过程,但是还是需要很多地方去了解和技术和知识的累积。

相关推荐
c#上位机2 小时前
halcon刚性变换(平移+旋转)——vector_to_rigid
图像处理·人工智能·计算机视觉·c#·halcon
Miss_SQ3 小时前
Webgl打包后删除StreamingAssets文件夹下多余资源
unity·c#·webgl
小猪快跑爱摄影3 小时前
【AutoCad 2025】【C#】零基础教程(二)——遍历 Entity 插件 =》 AutoCAD 核心对象层级结构
开发语言·c#·autocad
烛阴4 小时前
C# Dictionary 入门:用键值对告别低效遍历
前端·c#
Monkey_Xuan6 小时前
C#中的引用传递和值传递
unity·c#
天天进步20156 小时前
【Cradle 源码解析四】手眼协同:IO 控制层与动作执行 (Action Execution)
microsoft
CreasyChan6 小时前
C# LINQ 深度解析:优缺点与性能陷阱
unity·c#·游戏开发
精神小伙就是猛7 小时前
C# sealed密封 追本溯源
开发语言·c#
雨季6669 小时前
C 语言学习指南:从入门到实战的系统路径
c#
宝桥南山10 小时前
Power Automate - 从Web Api获取Json数据并以table的形式发送邮件和审批请求
microsoft·微软·rpa