Visual Studio将项目发布到一个简单的安装程序中
我有一个相当大的项目,有多个类,500多个图像,以及与该项目相关的20多个文本文件。
通过右键单击project->properties
,然后单击发布选项卡,我一直在发布我的项目。 我已将文本文件和图像作为resources
包含在内。
问题是每当我安装一个应用程序时,通常它都是一个简单的安装程序,即你下载一个安装程序(一个文件,如installer.exe),运行这个文件,然后带你完成设置,比如安装到哪里,然后安装应用程序就是这样。
好吧,在发布我的应用程序时,我指定了一个输出目录,我留下了这些文件:
- 应用文件
-
MyProjectName.application
(清单?) - SETUP.EXE
如果我运行setup.exe
,我可以安装该应用程序并运行它没有任何问题。 但是,它不仅不让我选择安装位置,而且还必须将所有这3个文件发送给用户。 我试图只将setup.exe
发送给朋友,它说他们缺少所需的文件(我假设是application files
和.application
的用途)。
我如何将这些全部集成到一个安装程序中,一个更符合您安装企业应用程序的方式(想想安装chrome,eclipse,photoshop等)?
我很高兴能够拥有一个安装程序并且能够让用户下载的文件。
谢谢
更新 : 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)
似乎无法定义MSIfunction(如function和组件),8)
自定义操作等32/64位数问题 …此项目上的旧MSDN页面类型及其问题: 对安装和部署项目进行故障排除 。
MSI专家Chris Painter和其他人: Visual Studio安装项目是否适合复杂的设置?
在我看来,项目类型只适用于简单的.NET应用程序。 任何复杂的口径和你都有麻烦。
SQL Scripts
,IIS
,正确的COM / COM+
,Users & Groups
,Shares
,Firewall Rules
,Custom GUI
等…商业工具和WiX已经为这些东西提供了高级支持。 已编译的MSI文件的内部也是不合标准的(使用自注册,服务的自定义操作等)。 我经常经历该工具也因“某些未知原因”而停止工作。 突然它不会编译。 具体示例 (带修复)。替代方案 :
- 部署工具的简单列表视图
WiX快速启动提示 (如果工具需要免费)
如何创建Windows安装程序 (指向各种部署工具的链接,MSI优势摘要和趋势部署技术的一些简要说明)
开源WiX工具包具有一个名为
Burn
的组件来创建这样的setup.exe
启动器/下载器/ bootstrappers – 用于按顺序运行多个安装和/或安装先决条件(一个非常常见的任务 – Visual Studio项目仅支持一些先决条件)。编写WiX XML标记代码是使用此刻录function所必需的。 商业工具Installshield和Advanced Installer提供GUIfunction来构建此类
setup.exe
文件。
Visual Studio安装程序非常有限,我从不使用它。 WiX (链接到试图为WiX速成课程提供一些链接的答案)是一个完整的开源部署解决方案。 掌握你需要一段时间,但它非常好而且灵活。 诸如Installshield或Advanced Installer之类的商业解决方案将允许您更快速,更轻松地提供设置,但它们可能非常昂贵。
鉴于Visual Studio Installer项目(和bug)的局限性,我相信正确的解决方案是使用不同的工具:使用什么安装产品? InstallShield,WiX,Wise,Advanced Installer等 。 如果你需要任何先进的东西,那么你会挣扎。 使用更先进的工具,至少可以做到你需要的东西,即使它有时可能更多涉及。
让我知道你想知道关于这个过程的内容,我会尽力帮助你。 我不确定您提供的软件,目标用户组是什么,您有多少预算等等… Windows Installer非常适合许多公司利益 ,但存在其他部署技术(请参阅上面的各种部署说明)使用的工具)。