我有exe文件并且需要将其转换为msi并使用组策略在域中的更多计算机上安装它而无需用户交互。
但这是使用UI,用户muset点击按钮。我需要在安装msi启动exe文件后安装到后台的计算机上 - 没有任何ui。
有可能吗?如何。
感谢您的帮助。
答案 0 :(得分:0)
MSI安装通常遵循以下内容:https://msdn.microsoft.com/en-us/library/windows/desktop/aa372024(v=vs.85).aspx因此您可以使用/ quiet作为选项来禁止用户界面,并且只需"执行此操作"
答案 1 :(得分:0)
好的,问题不是100%清楚,但我会试一试。以这种方式提供EXE文件 - 嵌入在MSI文件中 - 并不理想。事实上,这是一个非常糟糕的主意 - 说实话。通常不应将MSI文件用作包装器来提供嵌入式setup.exe文件。 MSI的高度复杂性及其先进的模拟,排序和调节使得这非常容易出错,难以实施和测试。此外,如果您嵌入的二进制文件是一个包含在setup.exe二进制文件中的MSI文件,那么MSI将失败,因为它不允许两个并发安装序列 - 除非您从用户界面序列安装它们(无声地跑步时不会工作。
传统样式设置无法匹配MSI文件在静默模式下可靠运行(无GUI)的能力。但是,通常您可以找到旧版(或现代版) setup.exe 或安装二进制文件的开关,这将允许以静默方式安装,但不能使用MSI提升安装权限。您必须使用真实的管理员权限运行。此外,你经常需要"记录"通过对话框运行并使用记录的响应来运行安装顺序 - 这很容易出错,因为意外的对话框可能会显示没有记录的响应"。然后你被困住了。 MSI's reliable silent running is one of the key corporate advantages of MSI
您可以在我刚才写的这个答案中找到很多相关信息: How can I use powershell to run through an installer? 。不要让问题标题混淆你,问题仍然与你提出的问题非常相似 - 至少我是这么认为的。请至少快速浏览一下。
答案还描述了" 应用程序重新打包" - 将旧版(或现代版)setup.exe安装程序转换为本机MSI格式的过程。这是一项需要很好理解MSI的专业任务,但一旦正确完成就能产生出色的结果,而且静音安装是轻而易举的,因为你不依赖于虚弱的静音响应文件"如上所述。
虽然我不确定它们是否都允许您以静默方式安装,但是有一些工具可用于从启动器EXE文件依次安装MSI文件和安装二进制文件。还有另一个答案在这里讨论各种bootstrapper选项:Wix and .NET Framework (prerequisites)。本次讨论中推荐的其中一个引导程序是dotNetInstaller。我从来没有用过它,所以我不能告诉你它是否有用。它可能比WiX自己的引导程序功能Burn更基于GUI,但是我不确定它是否是匹配功能。如果您进行测试,请报告您的发现。当然还有其他的引导者,但这不是我的专业领域。诸如Installshield之类的商业工具(至少在其高级版本中)具有使用GUI构建这样的引导程序的功能,我认为它们将它们称为"安装套件" - 或类似的东西。只是一大堆安装程序和先决条件。我没有尝试this bootstrapper feature in Advanced Installer。
关于Burn: