当前位置:  开发笔记 > 运维 > 正文

将Inno Setup安装程序包装在MSI中以便通过AD更容易分发是否可行/明智?

如何解决《将InnoSetup安装程序包装在MSI中以便通过AD更容易分发是否可行/明智?》经验,为你挑选了2个好方法。

我们的安装程序是用Inno Setup编写的,我们对它非常满意.然而,一些客户不断要求MSI安装程序,他们可以通过Active Directory更轻松地分发.我们已经花了一些时间,通过/LOADINF使用我们自己的选项扩展Inno Setup的机制,使安装程序与自动化和无人值守安装相得益彰.

为了满足客户要求MSI,我一直在考虑简单地将我们的常规安装程序包装在MSI中,可能是使用WIX创建的.问题是:我可以保持当前安装程序提供的高可配置性吗?在无人值守/大规模安装方案中,如何通过外部MSI公开Inno Setup安装程序的选项?

请注意,我还没有真正深入到实际挖掘MSI创建和WIX的程度.现在我只关心那些知道他们在说什么的人认为这是一种可行/合理的方法来投入我们的能量......

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

PS:我们在这里也有一份WISE for MSI的旧版本,但这种体验实际上就是为什么我们开始使用Inno来开始...



1> Roel..:

不,在保持客户"暗中"要求的功能的同时,没有办法做到这一点.您可以在MSI中唯一的"包装"是在安装时提取它并从您解压缩到的临时位置启动InnoSetup安装程序.MSI是一种根本不同的工作方式:InnoSetup(&NSIS和大多数其他安装程序)采用以代码为中心的方法:您"编程"安装数据的"步骤".MSI是一个数据库,采用"以数据为中心"的方法:指示应安装哪些文件,MSI'运行时'完成剩下的工作.这样可以为您提供版本控制和精确控制.

简而言之,为了给您的客户提供他们想要的东西(即MSI为AD带来的易部署性),您需要'正确'的MSI.祝你好运,这是一个主要的痛苦恕我直言.但是一旦你掌握了MSI和WiX,它确实会给你带来好的结果.



2> 小智..:

我自己多次遇到过这个问题.因此,我创建了一种解决此问题的标准方法,并生成了一个向导,指导您完成这些步骤.该工具将支持以下内容:

    将exe包装在MSI中.

    支持卸载.

    仅在"添加或删除程序"中显示一个程序.

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

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

使用我的联系表格让我知道你的想法:-)


好吧,尽管这个响应是非常明显的广告(专业版本不是免费的),我得把它交给你,这是一个很好的工具,我工作的公司最终用于你的专业版.
推荐阅读
yzh148448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有