vs2022 打包msi 程序
<p>最近项目碰到一个工具使用的问题</p><p>有一个获取第三方数据库的 c# winform 工具程序</p>
<p> </p>
<p>因为是一个小工具:以往会直接把这个 程序 使用release 发布的exe 代码文件 直接给到项目人员,直接运行即可</p>
<p>这次 这个客户环境 因为一些特殊情况,无法直接运行,后来查了一下是缺少相关的依赖,因为release 里的 依赖 没有给全。</p>
<p>出于运维的便捷性和减少项目使用的问题频率,决定把这部分代码 打包成msi 的安装程序,这样就可以避免依赖不全的问题。</p>
<p> </p>
<p> </p>
<h3>一、安装必要扩展</h3>
<ol>
<li style="list-style-type: none"><ol>
<li>·安装Microsoft Visual Studio Installer Projects 2022</li>
</ol>
<ul>
<li style="list-style-type: none">
<ul>
<li>打开VS2022 → 扩展 → 管理扩展 → 联机 → 搜索并安 装该扩展</li>
<li><em>备选方案</em>:手动从<span class="hyc-common-markdown__link"><span class="hyc-common-markdown__link"><span class="hyc-common-markdown__link"><span class="hyc-common-markdown__link__content">Visual Studio Marketplace下载<code>.vsix</code>文件双击安装</span></span></span></span>
<p><img src="https://img2024.cnblogs.com/blog/681642/202504/681642-20250417175929881-490466169.png"></p>
<p> </p>
</li>
</ul>
</li>
</ul>
</li>
</ol>
<h3>二、创建Setup Project项目</h3>
<ol><ol>
<li>
<p>新建Setup Project</p>
<ul>
<li>右键解决方案 → 添加 → 新建项目 → 搜索或导航至:<br>其他项目类型 → Setup and Deployment → Visual Studio Installer → Setup Project</li>
<li>命名项目(如<code>MyAppSetup</code>),路径建议与主项目同级目录</li>
</ul>
</li>
<li>
<p>配置安装内容</p>
<ul>
<li>添加主输出文件:<br>右键 Application Folder → Add → Project Output → 选择主项目的 Primary Output</li>
<li>
<p><img src="https://img2024.cnblogs.com/blog/681642/202504/681642-20250417180208681-241736459.png"></p>
<p> </p>
<p><img src="https://img2024.cnblogs.com/blog/681642/202504/681642-20250417180247745-514304976.png"></p>
<p> </p>
</li>
<li>添加依赖文件:<br>若项目依赖第三方库或资源文件,右键 Application Folder → Add → File,手动添加<code>bin/Release</code>或<code>bin/Debug</code>目录下的所有文件</li>
<li>快捷方式:
<ul>
<li>右键主输出文件 → Create Shortcut → 重命名快捷方式并拖拽至 User's Desktop(桌面)和 User's Programs Menu(开始菜单)</li>
<li>图标设置:在快捷方式属性中指定<code>.ico</code>文件(需先添加到 Application Folder)</li>
<li>
<p><img src="https://img2024.cnblogs.com/blog/681642/202504/681642-20250417180551975-1930813475.png"></p>
<p> </p>
</li>
</ul>
</li>
</ul>
</li>
</ol></ol><br><br>
来源:https://www.cnblogs.com/jayblog/p/18831367
頁:
[1]