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


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

总结

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

相关推荐
码码哈哈0.02 小时前
微软出品的一个鼠标控制多台电脑,还能共享剪切板分享与下载
microsoft·计算机外设
技术拾荒者3 小时前
Net.Core Mvc 添加 log 日志
c#·asp.net·mvc·.netcore
Envyᥫᩣ13 小时前
掌握C#中的异步编程:async和await关键字详解
开发语言·c#
sukalot13 小时前
windows C#-查询表达式基础(三)
开发语言·windows·c#
小奥超人14 小时前
word技巧:选择题的ABCD选项如何对齐?
windows·经验分享·microsoft·word·办公技巧
oioihoii16 小时前
设计模式概述
java·c++·设计模式·面试·c#·大学必学
羊小猪~~18 小时前
C/C++语言基础--initializer_list表达式、tuple元组、pair对组简介
c语言·开发语言·c++·vscode·list·c++20·visual studio
qq_3444034520 小时前
NPOI 实现Excel模板导出
c#·excel
小码编匠20 小时前
C# 高性能动态获取对象属性值
后端·c#·.net
无敌最俊朗@1 天前
c#————委托Action使用例子
java·前端·c#