[英]Visual Studio Publish Project Into One Simple Installer
我有一个相当大的项目,其中包含多个类,500多个图像和与该项目相关联的20多个文本文件。
我一直在通过右键单击project->properties
,然后单击publish选项卡来发布我的项目。 我已经包括了文本文件和图像作为resources
。
问题是,每当我安装一个应用程序时,通常是一个简单的安装程序,即下载一个安装程序(一个文件,如installer.exe),然后运行该文件,然后带您完成安装过程,例如将其安装到何处,等。然后安装该应用程序,仅此而已。
好了,在发布应用程序时,我指定了一个输出目录,并且剩下这些文件:
MyProjectName.application
(清单?) 如果运行setup.exe
,则可以安装该应用程序并运行它而不会出现任何问题。 但是,它不仅不能让我选择安装位置,而且还必须将所有这三个文件发送给用户。 我试图只将setup.exe
发送给朋友,它说他们缺少所需的文件(我假设这是application files
和.application
的用途)。
我该如何将所有这些都捆绑到一个安装程序中,与您将如何安装企业应用程序(例如安装chrome,eclipse,photoshop等)更紧密地匹配?
我非常希望能够拥有一个安装程序文件,并且能够让用户下载该文件。
谢谢
The Ancients :如果以下内容是
TL;DR
(太长,没有读过),请略过这两个链接:
更新 : 2018年9月 -由于此“答案”最近被否决,让我尝试添加更多链接以查看答案的意图是否可以更加清楚。 不要过于戏剧化,但是:
As deployment specialists we have to warn people when they commit to using a tool that is bound to fall apart for them down the line when more advanced deployment requirements invariably surface
。安装程序项目已被撤回几次,然后重新引入Visual Studio中 。 始终基于这些项目类型(只是较大的项目)中看到的问题:
1)
不支持MSBuild(未经我的广泛测试,但未经其他公司广泛测试);2)
仅在系统上下文中运行的延迟模式自定义操作(不可在GUI中插入);3)
总体上高度受限的控件(始终宣传快捷方式,无配置能力)某些事物,等等...),4)
不支持正确的服务安装-而是需要自定义操作,5)
捆绑的可用先决条件很少,6)
基本的GUI,灵活性差,7)
似乎无法定义MSI功能(如功能部件和组件),8)
自定义操作等存在32/64位问题 。有关该项目类型及其问题的旧的MSDN页面: 对安装和部署项目进行故障排除 。
MSI专家Chris Painter和其他人:
我认为项目类型仅适用于简单的.NET应用程序。 任何口径的复杂性都会给您带来麻烦。
SQL Scripts
,IIS
,适当的COM / COM+
,Users & Groups
,Shares
,Firewall Rules
,Custom GUI
等。商业工具和WiX对这些功能具有高级支持。 编译后的MSI文件的内部也是不合标准的(使用自注册,对服务的自定义操作等)。 我经常会遇到该工具由于“某些未知原因”而停止工作的情况。 突然,它将无法编译。 具体示例 (已修复)。替代方案 :
- 部署工具的简单列表视图
WiX快速入门提示 (如果该工具需要免费)
如何创建Windows Installer (链接到各种部署工具,MSI优势摘要以及一些趋势部署技术的简要说明)
开源WiX工具包具有一个称为
Burn
的组件,用于创建此类setup.exe
启动器/下载器/引导程序-用于依次运行多个安装和/或安装先决条件(一个非常常见的任务-Visual Studio项目仅支持一些先决条件)。要使用此刻录功能,必须编写WiX XML标记代码。 商业工具Installshield和Advanced Installer提供了GUI功能来构建此类
setup.exe
文件。
Visual Studio安装程序非常有限,我从未使用过。 WiX (指向尝试为WiX速成课程提供一些链接的答案的链接)是成熟的开放源代码部署解决方案。 掌握它需要一些时间,但是它非常好且灵活。 诸如Installshield或Advanced Installer之类的商业解决方案将使您可以更快,更轻松地交付设置,但它们的价格可能很高。
鉴于Visual Studio Installer项目的局限性(和错误),我相信正确的解决方案是使用其他工具:使用哪种安装产品? InstallShield,WiX,Wise,Advanced Installer等 。 如果您根本不需要任何高级的东西,那么您将为否则而苦恼。 使用更高级的工具,即使有时可能涉及更多的工作,至少也可以做您需要的事情。
让我知道您想知道的有关此过程的信息,我将尽力提供帮助。 我不确定要提供什么软件,目标用户群是什么,预算多少,等等。。。Windows Installer对于许多公司利益是非常可取的,但是还存在其他部署技术(请参见上面各种说明)使用工具)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.