我有一个相当大的项目,其中包含多个类,500多个图像和与该项目相关联的20多个文本文件。
我一直在通过右键单击project->properties,然后单击“发布”选项卡来发布项目。我已经包含了文本文件和图像resources。
project->properties
resources
问题是,每当我安装一个应用程序时,通常是一个简单的安装程序,即下载一个安装程序(一个文件,如installer.exe),然后运行该文件,然后带您完成安装过程,例如将其安装到何处,等。然后安装该应用程序,仅此而已。
好了,在发布应用程序时,我指定了一个输出目录,并且剩下这些文件:
MyProjectName.application
如果我运行setup.exe,则可以安装该应用程序并运行它而没有任何问题。但是,它不仅不能让我选择安装位置,而且还必须将所有这三个文件发送给用户。我试着只将“”发送setup.exe给一个朋友,它说他们缺少所需的文件(我假设这是“ application files和” .application的用途)。
setup.exe
application files
.application
我该如何将所有这些都捆绑到一个安装程序中,与您将如何安装企业应用程序(例如安装chrome,eclipse,photoshop等)更紧密地匹配?
我非常希望能够拥有一个安装程序文件,并且能够让用户下载该文件。
谢谢
The Ancients :如果以下内容 TL;DR (太长,没有读过),请略过这两个链接: 对安装和部署项目进行故障排除 为什么通过VDPROJ使用Windows Installer XML(WiX)?
The Ancients :如果以下内容 TL;DR (太长,没有读过),请略过这两个链接:
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功能(如功能和组件),32/64 8) 问题自定义操作的位问题等。 有关该项目类型及其问题的旧的MSDN页面:对安装和部署项目进行故障排除。 MSI专家Chris Painter和其他人: Visual Studio安装程序项目是否适合复杂的安装程序? 为什么通过VDPROJ使用Windows Installer XML(WiX)? (推荐的) 我认为项目类型仅适用于简单的.NET应用程序。任何口径的复杂性都会给您带来麻烦。SQL Scripts,IIS,适当的COM / COM+,Users & Groups,Shares,Firewall Rules,Custom GUI,等…商业工具和维克斯对这些事情的高级支持。编译后的MSI文件的内部也是不合标准的(使用自注册,对服务的自定义操作等)。我经常会遇到该工具由于“某些未知原因”而停止工作的情况。突然,它将无法编译。具体示例(已修复)。 替代方案 : 部署工具的简单列表视图 WiX快速入门提示(如果该工具需要免费) 如何创建Windows Installer (链接到各种部署工具,MSI优势摘要以及一些趋势部署技术的简要说明) 开源WiX工具包具有一个名为 Burn 创建此类 setup.exe 启动器/下载器/引导程序的组件-用于依次运行多个安装和/或安装先决条件(一个非常常见的任务-Visual Studio项目仅支持一些先决条件)。 要使用此刻录功能,必须编写WiX XML标记代码。商业工具Installshield和Advanced Installer 提供了用于构建此类 setup.exe 文件的GUI功能。
更新 : 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 。
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功能(如功能和组件),32/64 8) 问题自定义操作的位问题等。
1)
2)
3)
4)
5)
6)
7)
8)
有关该项目类型及其问题的旧的MSDN页面:对安装和部署项目进行故障排除。
MSI专家Chris Painter和其他人:
我认为项目类型仅适用于简单的.NET应用程序。任何口径的复杂性都会给您带来麻烦。SQL Scripts,IIS,适当的COM / COM+,Users & Groups,Shares,Firewall Rules,Custom GUI,等…商业工具和维克斯对这些事情的高级支持。编译后的MSI文件的内部也是不合标准的(使用自注册,对服务的自定义操作等)。我经常会遇到该工具由于“某些未知原因”而停止工作的情况。突然,它将无法编译。具体示例(已修复)。
SQL Scripts
IIS
COM / COM+
Users & Groups
Shares
Firewall Rules
Custom GUI
替代方案 :
WiX快速入门提示(如果该工具需要免费)
如何创建Windows Installer (链接到各种部署工具,MSI优势摘要以及一些趋势部署技术的简要说明)
开源WiX工具包具有一个名为 Burn 创建此类 setup.exe 启动器/下载器/引导程序的组件-用于依次运行多个安装和/或安装先决条件(一个非常常见的任务-Visual Studio项目仅支持一些先决条件)。
Burn
要使用此刻录功能,必须编写WiX XML标记代码。商业工具Installshield和Advanced Installer 提供了用于构建此类 setup.exe 文件的GUI功能。
在 Visual Studio安装 是非常有限的,我从来没有使用它。 WiX (指向尝试为WiX速成课程提供一些链接的答案的链接)是成熟的开放源代码部署解决方案。掌握它需要一些时间,但是它非常好且灵活。诸如 Installshield 或 Advanced Installer之 类的商业解决方案将使您可以更快,更轻松地交付设置,但它们的价格可能很高。
鉴于Visual Studio Installer项目的局限性(和错误),我相信正确的解决方案是使用其他工具:使用 哪种安装产品?InstallShield,WiX,Wise,Advanced Installer等。如果您根本不需要任何高级的东西,那么您将为否则而苦恼。使用更高级的工具,即使有时可能涉及更多的工作,至少也可以做您需要的事情。
让我知道您想知道的有关此过程的信息,我将尽力提供帮助。我不确定要提供什么软件,目标用户群是什么,预算多少,等等。。。Windows Installer对于许多公司利益是非常可取的,但是还存在其他部署技术(请参见上面各种说明)使用工具)。