【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;


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

总结

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

相关推荐
黄金小码农5 小时前
c# 2025/2/19 周三
c#
susan花雨7 小时前
C#发送邮件
c#
※※冰馨※※7 小时前
【C#】无法安装程序包“DotSpatial.Symbology 4.0.656”
windows·microsoft·c#
电手8 小时前
微软宣布 Windows 11 将不再免费升级:升级需趁早
windows·microsoft
不会编程的程序員9 小时前
C# 语法 vs. C++ 语法:全面对比与核心区别解析
开发语言·c++·c#
小张-森林人10 小时前
当C#邂逅Deepseek, 或.net界面集成deepseek
开发语言·人工智能·c#
yuanpan11 小时前
23种设计模式之《单例模式(Singleton)》在c#中的应用及理解
单例模式·设计模式·c#
未来之窗软件服务14 小时前
c#自动更新-源码
服务器·网络·c#
MasterNeverDown15 小时前
在WPF中实现窗口拖拽功能:打造自定义交互体验
开发语言·c#
czwy16 小时前
RFID实践——.NET IoT程序读取高频RFID卡/标签
c#·rfid·iot·raspberry pi