这应该很简单,但似乎不过是。
我希望创建一个安装程序,供那些使用组策略安装产品的人使用。我不知道这是否必须是MSI或EXE。可以通过组策略安装EXE安装吗?我和另一个Wix新手聊天,他似乎认为安装一个普通的MSI文件是个坏主意。
我的产品使用Visual C ++ 2010可再发行组件。我不想使用合并模块。 this和this链接都会带来使用它们的一些缺点。我反对1)安装用户未同意的东西,2)没有控制面板卸载项目,用户可以检查版本号,看看他们是否有最新版本。因此,我对由人们讲授为什么我应该使用合并模块的响应不感兴趣。如果没有合并模块,我要求的是真正不可能的,那么请解释原因。
我不知道是否有必要使用引导程序启动EXE安装。我认为它是,但对于我来说,对于一个具有此类相关表格和描述的MSI来说,似乎很奇怪,不能仅仅是EXE,在可再发行组件尚未安装的条件下。
如果有必要使用引导程序,我想知道是否有人可以找到一个完整的示例,包括bootstrapper和Wix代码,作为产品安装的示例;理想情况下,与编译它们所需的命令行一起,安装VC ++ 2010(或可能是2012)程序及其可再发行程序这样的常见情况,后者安装为EXE。
我发现这在Inno Setup Pascal中很简单易行 - 除了组策略部分。我找到了除COMPLETE示例和/或直接解释之外的任何内容,以使用Microsoft安装程序完成此操作。无论微软说什么,我都会认为这样的安装程序是最佳实践。我的代码没有管理,我想支持XP。因此,需要安装一些.net的引导程序只会为问题添加另一个未解决的复杂层。静态链接到.net库的那个可能不会太糟糕,如果它不会产生很大的开销。我的MSI安装似乎工作得很好。我没有意识到安装vcredist_x86.exe会成为这种难以捉摸的解决方案的问题。我没有Visual Studio。我正在使用Qt框架,并且仅安装Visual Studio来编译我的应用程序。如果您有自举程序解决方案,请指定您正在使用的引导程序。理想情况下,相同的想法可以扩展到多个先决条件,并且可以使用相同的编码模式。如果有办法使用合并模块或其他MSI,以便可再发行组件具有自己的控制面板条目,那么这是可以接受的。
Brownie指出建议使用邮件列表,论坛或人口密集的聊天频道来讨论Wix,它不需要收到大量不必要的邮件列表流量。
答案 0 :(得分:2)
默认情况下,组策略不允许安装EXE。我确实读到了一些管理员将EXE重新打包成MSI以通过GPO部署它们,但这相当骇人听闻。还可以编写部署脚本 - GPO支持脚本执行,机器或用户级别。
您无法在其他MSI中嵌入MSI,因为任何时候只能执行一次安装(Windows Installer设计)。
我不知道您将如何向客户提供产品,但vcredist_x86.exe(我正在尝试使用v100版本)解压缩到根文件夹并生成msi和cab(vc_red.msi和vc_red .cab)等文件。如果您向客户提供这些信息,他们可以将其添加到用于部署产品的同一GPO中。