利用Microsoft Visual Studio Installer Projects打包安装包

利用Microsoft Visual Studio Installer Projects打包安装包

  • 具体步骤
    • 步骤1:安装扩展
    • 步骤2:创建 Setup 项目
    • 步骤3:设置属性
    • 步骤4:添加输出
    • 步骤5:添加文件
    • 步骤6:添加桌面快捷方式
    • 步骤7:添加菜单快捷方式
    • 步骤8:添加卸载程序快捷方式
    • 步骤9:生成安装包

此篇博客将说明如何利用Visual Studio上的Microsoft Visual Studio Installer Projects扩展打包安装包。

具体步骤

步骤1:安装扩展

在Visual Studio中点击 扩展 -> 管理扩展 -> 联机 -> 搜索Microsoft Visual Studio Installer Projects -> 下载,最终安装好如图
在这里插入图片描述

步骤2:创建 Setup 项目

右键点击解决方案,添加Setup Project新项目,如图
在这里插入图片描述
在这里插入图片描述

步骤3:设置属性

成功创建好如下图,会生成三个路径:Application Folder用于包含目标项目编译后的文件,如dll、脚本等,便于在打包时压缩文件、安装时解压文件;User’s Desktop 主要是指用户桌面,可以在此处添加桌面快捷方式;User’s Programs Menu 主要是指用户菜单,可以在此处添加菜单快捷方式。
在这里插入图片描述
之后, 可根据软件需求,在 解决方案资源管理器 处设置项目对应属性,如图
在这里插入图片描述

步骤4:添加输出

右键点击Application Folder -> Add -> 项目输出,如图
在这里插入图片描述
在这里插入图片描述

步骤5:添加文件

由于Application Folder 添加项目输出时,只会识别dll,如下图,因此若未将所有文件载入时,需手动添加。在下图中,其并未将目标WPF项目MRISoftwareDelpoyPlatform中的Scripts文件夹加载进Application Folder。
在这里插入图片描述
针对上述问题,可右键点击Application Folder -> Add -> Folder,修改名称为Scripts,之后右键点击该文件夹 -> Add -> 文件,在弹出窗口下选择合适路径,文件添加成功后,如下图
在这里插入图片描述
最终文件添加成功之后,整个Application Folder 下的文件如下图
在这里插入图片描述

步骤6:添加桌面快捷方式

右键点击主输出 -> Create Shortcut… ,然后根据需求修改快捷方式名称,添加成功后如图所示,此处快捷方式名称为MRISoftwareDelpoyPlatform
在这里插入图片描述
之后将快捷方式剪切复制进 User’s Desktop 中,便可在安装后自动创建桌面快捷方式。如图
在这里插入图片描述
现对快捷方式添加图标,首先在Application Folder中添加ico文件,然后按照下图中顺序最后点击ok即可
在这里插入图片描述

步骤7:添加菜单快捷方式

为了便于显示菜单快捷方式与卸载快捷方式,需要在 User‘s Program 下添加文件夹,这步操作已在步骤6中实现。先添加菜单快捷方式,并为其添加图标,步骤与桌面快捷方式类似,添加成功后如图
在这里插入图片描述

步骤8:添加卸载程序快捷方式

此步骤非必须,可根据需求进行添加。若需添加Uninstall.exe,则 右击 Application Folder ->Add -> 文件,找到 C:/Windows/System32下的msiexec.exe,重命名为UnInstall,成功之后如图
在这里插入图片描述
为了实现Uninstall.exe对目标安装软件进行卸载,需做如下处理:点击项目(此处为MRIDPSetup) -> 复制属性页面中ProductCode的值,此数据为该项目独有的GUID号 -> 右键点击Uninstall.exe -> Create Shortcut … -> 修改快捷方式的名称 -> 将ProductCode按照 “/X {xxxxxx-Your-Product-GUID-xxxx-xxx-xxxx}” 格式填充至快捷方式属性界面的 Arguments -> 将快捷方式剪切粘贴至 User‘s Program Menu/MRISoftwareDeployPlatform中即可,成功后如图
在这里插入图片描述

步骤9:生成安装包

右键点击项目 -> 生成, 最后生成的安装包如图,其中setup.exe 是一个引导程序,负责启动安装过程并调用实际的安装文件 .msi 来完成安装,也可直接双击.msi文件进行安装。若有其他需求,如升级时无需卸载旧包直接覆盖升级,可点击 博客 进行查阅。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/264137.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

fl studio 21破解版注册机下载 水果音乐编曲软件 FL Studio v21.

FL studio21中文别名水果编曲软件,是一款全能的音乐制作软件,包括编曲、录音、剪辑和混音等诸多功能,让你的电脑编程一个全能的录音室,它为您提供了一个集成的开发环境,使用起来非常简单有效,您的工作会变得…

公式识别任务各个链条全部打通

目录 引言公式识别任务是什么?公式识别任务解决方案初探使用建议写在最后 引言 随着LaTeX-OCR模型转换问题的解决,公式识别任务中各个链条已经全部打通。小伙伴们可以放开膀子干了。 解决业界问题的方案,并不是单独训练一个模型就完事了&am…

接触刚性环境任务下的机器人力控(阻抗)性能测试

内涵 接触刚性环境任务下的机器人力控(阻抗)性能测试旨在评估机器人在与刚性物体交互时的性能表现。这种测试通过调整机器人的控制参数,如期望刚度和期望阻尼等,并分析记录的数据,旨在确保机器人能够在执行任务时保持…

Redis 持久化 —— 超详细操作演示!

四、Redis 持久化 四、Redis 持久化4.1 持久化基本原理4.2 RDB持久化4.3 AOF持久化4.4 RDB与AOF对比4.5 持久化技术转型 五、Redis 主从集群六、Redis 分布式系统七、Redis 缓存八、Lua脚本详解九、分布式锁 数据库系列文章: 关系型数据库: MySQL —— 基础语法大全…

【实战教程】PHP与七牛云的完美对接,你值得拥有!

前言: 随着互联网的迅速发展,越来越多的网站和应用程序需要处理大量的图片、视频和其他文件。为了有效地存储和管理这些文件,并提供快速的内容分发服务,开发者们常常依赖于云存储和CDN服务提供商。 七牛云是一家领先的云存储和C…

Linux实用操作

一、各类小技巧(快捷键) 1.1 ctrl c 强制停止 Linux某些程序的运行,如果想要强制停止它,可以使用快捷键ctrl c 命令输入错误,也可以通过快捷键ctrl c,退出当前输入,重新输入 1.2 ctrl d…

MyBatis 四大核心组件之 ParameterHandler 源码解析

🚀 作者主页: 有来技术 🔥 开源项目: youlai-mall 🍃 vue3-element-admin 🍃 youlai-boot 🌺 仓库主页: Gitee 💫 Github 💫 GitCode 💖 欢迎点赞…

触手可及的便携CD播放器,随时享受音乐乐趣,山灵EC Mini上手

如今做发烧级实体CD播放器的国产品牌越来越少了了,最近我尝试了一款山灵的便携式CD播放器,感觉它做得很有味道。在CD机领域,山灵技术积累的不错,像是这款EC Mini,不论设计还是体验都很出色,既能够满足实体C…

每天五分钟计算机视觉:使用1*1卷积层来改变输入层的通道数量

本文重点 在卷积神经网络中有很多重要的卷积核,比如1*1的卷积核,3*3的卷积核,本文将讲解1*1的卷积核的使用,它在卷积神经网络中具有重要的地位。由于1*1的卷积核使用了最小的窗口,那么1*1的卷积核就失去了卷积层可以识…

ShardingSphere分库分表与读写分离实战

关于 ShardingSphere 下图是官网的介绍 本篇文章只介绍 ShardingSphere-JDBC 的使用 功能 ShardingSphere-JDBC 的核心功能是数据分片和读写分离,通过 ShardingSphereJDBC 应用可以透明的使用 JDBC 访问已经分库分表,读写分离的多个数据源&#xff0…

传奇手游战神传奇【不朽江山合击版】win服务端+双端+gm后台+详细搭建教程

搭建资源下载地址:传奇手游战神传奇【不朽江山合击版】win服务端双端gm后台详细搭建教程 - 海盗空间

云计算在计算机领域的应用与发展

云计算在计算机领域的应用与发展 一、引言 随着科技的不断发展,计算机领域已经成为当今社会最为活跃和创新的领域之一。云计算作为一种新兴的计算模式,已经在计算机领域中得到了广泛的应用,并且正在不断地推动着计算机领域的发展。本文将探…