将Inno Setup安装程序包装在MSI内以便通过AD进行分发是否可行/合理? [英] Is it feasible/sensible to wrap an Inno Setup installer inside an MSI for easier distribution via AD?

查看:68
本文介绍了将Inno Setup安装程序包装在MSI内以便通过AD进行分发是否可行/合理?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们的安装程序是使用Inno Setup编写的,我们对此非常满意.但是,有些客户一直在要求MSI安装程序,他们可以更轻松地通过Active Directory进行分发.我们已经竭尽全力通过使用我们自己的选项扩展Inno Setup的/LOADINF机制来使安装程序真正很好地处理自动化和无人值守的安装.

Our installer is written with Inno Setup and we are actually quite happy with it. Yet some customers keep asking for an MSI installer which they could more easily distribute via Active Directory. We have already gone to some lengths to make the installer deal really well with automated and unattended installations by extending Inno Setup's /LOADINF-mechanism with our own options.

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

In order to satisfy the customers asking for MSI, I had been thinking about simply wrapping our regular installer inside an MSI, possibly created using WIX. The question is: can I maintain the high configurability which our current installer offers that way? How would I go about exposing the Inno Setup installer's options through the outer MSI in the unattended/mass installation scenario?

请注意,我还没有真正了解MSI创建和WIX的知识.现在,我只对确实知道他们在说什么的人们是否感兴趣,首先认为这将是一种可行/合理的方法来投资我们的精力...

Note that I haven't really gotten to the point of actually digging into MSI-creation and WIX myself yet. Right now I'm only interested in whether people who do know what they're talking about think this would be a feasible/sensible approach to invest our energy in in the first place...

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

Initially I thought I could do with the temp extraction and execution approach, i.e. the MSI would simply serve as a vessel for delivering the Inno installer to the target PC and executing it there in /VERYSILENT-mode. But I guess the customers who ask for the MSI also want to be able to uninstall or even modify the install from a central location and I guess that won't be possible in that scenario, would it?

P.S .:我们在这里也确实有用于MSI的WISE的旧版本,但这实际上是我们开始使用Inno而不是...的原因.

P.S.: We do have an old copy of WISE for MSI here as well but that experience was actually the reason why we started using Inno instead to begin with...

推荐答案

不,在保留客户隐式"要求的功能的同时,无法做到这一点. MSI中唯一可以做的包装"是在安装时将其解压缩,然后从提取到的临时位置启动InnoSetup安装程序. MSI是根本不同的工作方式:InnoSetup(和NSIS和大多数其他安装程序)采用以代码为中心的方法:您对步骤"进行编程"以安装数据. MSI是一个数据库,并采用以数据为中心"的方法:您指示应安装哪些文件,其余由MSI运行时"完成.这使您可以进行版本控制,并可以精确控制操作的位置.

No, there's no way to do that while still keeping the functionality your customers are 'implicitly' asking for. The only 'wrapping' in MSI you can do is to extract it on installation and start your InnoSetup installer from the temporary location where you extracted to. MSI is a fundamentally different way of working: InnoSetup (& NSIS & most other installers) take a code-centric approach: you 'program' the 'steps' to install your data. MSI is a database and takes a 'data-centric' approach: you indicate what files should be installed and the MSI 'runtime' does the rest. This gives you versioning and exact control of what goes where.

简而言之,为了给客户提供他们想要的东西(即,MSI随AD带来的易于部署),您将需要适当的" MSI.祝你好运,恕我直言,这是一个很大的痛苦.但是,一旦您掌握了MSI& ;; WiX.

In short, to give your customers what they want (i.e., the ease of deployment that MSI brings with AD), you'll need 'proper' MSI's. Good luck with that, it's a major pain IMHO. But it does give good results once you master MSI & WiX.

这篇关于将Inno Setup安装程序包装在MSI内以便通过AD进行分发是否可行/合理?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆