Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 如何在Visual Studio安装项目中运行外部安装程序_Windows_Visual Studio 2010_Visual Studio_Installation - Fatal编程技术网

Windows 如何在Visual Studio安装项目中运行外部安装程序

Windows 如何在Visual Studio安装项目中运行外部安装程序,windows,visual-studio-2010,visual-studio,installation,Windows,Visual Studio 2010,Visual Studio,Installation,我正在使用Visual Studio安装项目为我的新Windows程序(单个EXE文件)创建一个安装程序。它似乎唯一缺少的是运行组件安装程序的方法。我需要将单独的安装程序EXE与我的程序捆绑并运行,但每当我尝试将其作为自定义操作运行时,就会出现“嵌套安装程序”错误(您无法在安装程序中运行安装程序) 那么,除了购买一个商业安装程序($$$)之外,有没有一种方法可以编写一个自定义操作来实现这一点?我已经看过一些关于这方面的教程,它看起来并不吓人,但我担心在释放安装事务锁之后(或之前)运行自定义操作,

我正在使用Visual Studio安装项目为我的新Windows程序(单个EXE文件)创建一个安装程序。它似乎唯一缺少的是运行组件安装程序的方法。我需要将单独的安装程序EXE与我的程序捆绑并运行,但每当我尝试将其作为自定义操作运行时,就会出现“嵌套安装程序”错误(您无法在安装程序中运行安装程序)

那么,除了购买一个商业安装程序($$$)之外,有没有一种方法可以编写一个自定义操作来实现这一点?我已经看过一些关于这方面的教程,它看起来并不吓人,但我担心在释放安装事务锁之后(或之前)运行自定义操作,以便下一个安装程序可以运行

建议


谢谢

您可以使用任何免费的安装程序/安装程序创建者。它们将允许您在安装期间运行任何自定义脚本,或安装任何其他组件或软件

以下仅列出几个免费选项:


基本上,用MSI术语来说,您需要的是一个自定义引导程序。安装和部署项目对此的支持有限。()详细说明如何向内置引导程序添加先决条件

不幸的是,Visual Studio 2012不支持安装和部署项目;因此,花很多时间在这样的事情上可能不会增加太多的长期价值

WiX是微软推荐的另一个MSI安装程序框架(作者在微软工作)。它有一个它调用的特性,允许MSI链接(通过它的引导程序)。使用一个名为Dark的实用程序(这是使用Dark的一个很好的介绍),从现有MSI创建WiX项目非常容易。一旦你得到了它,你就可以编辑wxs文件来添加一个包


其他Wix资源:

但是为什么你不能使用免费的安装程序创建者来创建独立的安装程序,让你可以安装任何你可能需要的东西呢?Wix绝对是一条路要走。虽然(在我看来)自定义操作很棘手,这意味着(与任何其他编码活动一样)需要大量阅读。祝你好运哎呀哎呀。WiX和Burn正是我想要的。疯皮条客!您指向“添加自定义先决条件”的链接已以真正的MS方式消失。。用微软的话来说,这意味着“以更好的用户体验的名义”;我添加了一个指向webarchive版本的链接,以及一个指向最新文档的链接(原始链接本应重定向到:()我认为MarcWin详细说明的是,这些“自定义脚本”会因嵌套的安装程序错误而失败…@PeterRitchie您可以通过自定义安装程序创建者完全做到这一点。