首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Inno安装程序包装在MSI中以便于通过AD分发是否可行/明智?

问将Inno安装程序包装在MSI中以便于通过AD分发是否可行/明智?
EN

Stack Overflow用户
提问于 2008-09-16 10:58:15
回答 10查看 14.9K关注 0票数 28

我们的安装程序是用Inno Setup编写的,我们实际上对它很满意。然而,一些客户一直要求MSI安装程序,他们可以更容易地通过Active Directory分发。我们已经通过使用我们自己的选项扩展Inno Setup的/LOADINF-mechanism,使安装程序能够很好地处理自动和无人值守的安装。

为了满足客户对MSI的要求,我一直在考虑简单地将我们的常规安装程序包装在MSI中,可能是使用WIX创建的。问题是:我能保持当前安装程序提供的高可配置性吗?在无人参与/批量安装的情况下,如何通过外部MSI公开Inno安装程序的选项?

请注意,我自己还没有真正深入研究MSI-creation和WIX。现在我只对那些知道自己在说什么的人感兴趣,他们是否认为这是一种可行/明智的方法来投资我们的精力……

编辑:最初我认为我可以使用临时提取和执行方法,即MSI只是作为一个容器,将Inno安装程序交付到目标PC并在/VERYSILENT-mode中执行它。但我猜要求MSI的客户也希望能够从中央位置卸载甚至修改安装,我猜在这种情况下这是不可能的,对吧?

附言:我们这里也有一个MSI的WISE的旧副本,但这实际上是我们开始使用Inno的原因……

EN

回答 10

Stack Overflow用户

回答已采纳

发布于 2008-09-16 11:11:48

不,没有办法做到这一点,同时仍然保留您的客户‘隐含’要求的功能。你能做的唯一的“包装”就是在安装时解压它,然后从你解压到的临时位置启动你的InnoSetup安装程序。微系统集成是一种完全不同的工作方式: InnoSetup (& NSIS &大多数其他安装程序)采用以代码为中心的方法:您“编程”安装数据的“步骤”。MSI是一个数据库,它采用“以数据为中心”的方法:您指示应该安装哪些文件,MSI“运行时”完成其余的工作。这为您提供了版本控制和对内容的精确控制。

简而言之,为了给你的客户提供他们想要的(例如,MSI为AD带来的部署的简单性),你需要“适当的”MSI。祝你好运,这是一个主要的痛苦。但是一旦你掌握了MSI和WiX,它确实会给你带来很好的效果。

票数 18
EN

Stack Overflow用户

发布于 2012-08-23 03:32:56

我自己也有过很多次这样的问题。因此,我创建了一个标准的方法来解决这个问题,它产生了一个向导,它将指导您完成这些步骤。该工具将支持以下功能:

当您使用MSIEXEC.EXE运行MSI包时,请将命令行参数(如/SILENT )传递给嵌入式安装程序。

你可以在http://www.exemsi.com上获得它(基础版是免费的)

使用我的联系人表单,让我知道您的想法:-)

票数 13
EN

Stack Overflow用户

发布于 2008-09-16 14:08:46

对您的编辑的回应:是的,您所描述的将阻止进行升级(删除/重新安装除外)和远程配置,因为MSI数据库不会知道您的安装程序的任何内容。

然而,许多安装程序包都是以这种方式启动MSI“支持”的:例如,InstallShield就是这样做的。这是我丢弃它们的主要原因,因为以这种方式制作的安装程序对于MSI目的是无用的。我不知道最近的InstallShield版本是否更好,我最后一次检查是在5年前。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71203

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档