首页 / 知识
将Inno Setup安装程序包装在MSI中以便通过AD进行更轻松分发是否可行/合理?
2023-04-15 20:45:00

Is it feasible/sensible to wrap an Inno Setup installer inside an MSI for easier distribution via AD?
我们的安装程序是使用Inno Setup编写的,实际上我们对此感到非常满意。但是,有些客户一直在要求MSI安装程序,他们可以更轻松地通过Active Directory进行分发。我们已经竭尽全力通过使用我们自己的选项扩展Inno Setup的 为了满足客户对MSI的需求,我一直在考虑将常规安装程序包装在MSI(可能使用WIX创建)中。问题是:我可以保持当前安装程序提供的高可配置性吗?在无人值守/大量安装方案中,如何通过外部MSI公开Inno Setup安装程序的选项? 请注意,我还没有真正深入研究MSI创建和WIX。现在,我只对确实知道他们在说什么的人们是否感兴趣,首先认为这将是一种可行/明智的方法来投资我们的精力...
[编辑:] 附注:我们这里也确实有MISE的WISE的旧版本,但是这种经验实际上就是我们开始使用Inno的原因。 不,在保持客户"隐式"要求的功能的同时,无法做到这一点。 MSI唯一可以做的"包装"是在安装时将其解压缩,然后从提取到的临时位置启动InnoSetup安装程序。 MSI是一种根本不同的工作方式:InnoSetup(和NSIS和大多数其他安装程序)采用以代码为中心的方法:您对"步骤"进行"编程"以安装数据。 MSI是一个数据库,并采用"以数据为中心"的方法:您指示应安装哪些文件,其余由MSI"运行时"完成。这使您可以进行版本控制,并可以精确控制操作位置。 简而言之,要满足客户的需求(即MSI随AD带来的易于部署),您将需要"适当的" MSI。祝你好运,这是恕我直言的主要痛苦。但是,一旦您掌握了MSI和WiX,它的确会带来不错的结果。 我本人曾多次遇到这个问题。因此,我创建了一种解决此问题的标准方法,并产生了一个向导,它将指导您完成这些步骤。该工具将支持以下内容: 您可以在http://www.exemsi.com上获得它(基本版本是免费的) 使用我的联系表格,让我知道您的想法:-) 在MSI程序包中包装Inno Setup并非易事。但是,这是可能的。有很多免费工具可用于执行此操作。您应该选择一种还支持卸载和升级的软件。 我发现只有一个免费工具支持升级和卸载。查看http://www.exemsi.com/inno-setup-and-msi 混合安装技术没有任何意义。
如果您混合使用,则会遇到卸载问题的第一个问题。 在" entwickler杂志"中有一些以Windows安装程序开头的文章
http://entwickler-magazin.de/
Windows安装程序应该是您安装的唯一技术。 我认为使用MSI包装的Inno Setup可以完成您想做的所有事情,但这绝非易事,而使用WiX可能会使这项特定任务变得更加困难。简而言之,我不会推荐它。 但是如果您真的想... MSI文件只是带有附加脚本说明的数据库文件,并且通常嵌入.cab文件,其中包含您实际要安装的内容。 如果使用Wise,则将生成默认脚本,然后可以将其添加Windows Installer条件并更好地控制事件(安装,修复,修改,卸载),以便它们在Inno Setup安装脚本上调用等效操作,需要安装并保存在一个临时文件夹中。 制作包装工具包非常容易,该工具包可自动从MSI安装INNOSETUPper。对于基本功能(安装/卸载),这就足够了。大多数安装程序都不会实施修复。 为INNO设置创建silent.inf脚本(可选) 创建调用的install.bat myinnosetup.exe / silent / NOCANCEL / norestart / Components =" xxx"
你可以使用/ verysilent 创建调用install.bat的MSI安装文件(必要时使用参数) 将所有4个文件交付给您的客户,他们可以使用SMS或ActiveDirectory部署您的Inno安装程序,每个人都很高兴:) 回应您的编辑:是的,您描述的内容将阻止进行升级(删除/重新安装除外)和远程配置,因为MSI数据库对安装程序的内容一无所知。 但是,许多安装程序包都是通过这种方式启动MSI"??支持"的:例如,InstallShield做到了。这是我转储它们的主要原因,因为以这种方式制作的安装程序对于MSI而言是无用的。我不知道最新版本的InstallShield是否更好,我上次检查是5年前。 我需要在silent.inf(不是稳定的inno设置设置值)上输入一个custome值,就像LOADINF允许的那样。 注意:如果使用makemsi,则不必包含bat,因为可以使用$ WrapInstall。 尽管最后的评论是可行和可行的,但改用MSI是处理此问题的最佳方法。 几乎所有大型组织都只规定MSI,原因很多。
1)首先是易于部署 inno安装程序和其他未实现Windows Installer的工具根本无法以与Windows Installer相同的方式提供应用程序社交性。 您必须了解Inno设置是旨在部署单个应用程序的软件。 Windows Installer是一个完整的框架,用于处理社交性,用户模拟,用户提升,自我修复,用户配置文件修复。 两者甚至在功能上都不遥不可及,在我看来,与Windows Installer相比,nono设置完全偏离了路线。
它可以创建成功的安装程序吗?是 微软" SMS Installer"开发的最早工具是10年前的innosetup。在安装环境中,情况发生了巨大变化,并且inno设置根本没有跟上这种变化的步伐。 这样做几乎等同于交付一个ZIP文件并在安装结束时调用unzip。 通过这种方法,AD和Windows Installer会像对待正确的MSI安装一样被愚弄,但事实并非如此,它们在第一次出现时就会适得其反。 不要这样 无论如何,WiX是InnoSetup的高级工具集,因此,您将花费在学习和移植上的时间将通过更好的协作支持而获得回报。 |
最新内容
相关内容
linux的安装软件命令?
linux的安装软件命令?,软件,系统,名称,发行,官方网站,市场,官网,密码,网站,检测,在linux下如何装应用程序?需要什么命令啊)执行“make”命令进linux安装dbe命令?
linux安装dbe命令?,系统,电脑,通用,数据,环境,变动,在线,业务,信息,网站,LINUX更换显卡后,驱动如何更新?1、一般来说更新内核即可。不过显卡例linux命令执行安装?
linux命令执行安装?,软件,系统,管理,网站,官网,市场,中心,最新,灵活,工作,如何定制安装linux软件?linux安装软件的三种方式如下:源代码编译安装linux系统安装命令集?
linux系统安装命令集?,系统,软件,工作,工具,在线,信息,数据,官方网站,基础,官网,linux系统yum安装小猫小狗的命令1、这里以centos7 linux系统dd命令安装linux?
dd命令安装linux?,标准,设备,数据,系统,名称,位置,环境,信息,数字,情况,安卓Linux环境下的dd命令使用总结1、Linux dd 命令用于读取、转换并输终端命令行安装linux?
终端命令行安装linux?,软件,系统,工具,终端,工作,状态,公司,官网,中心,时间,linux怎么在终端安装程序?1、打开系统,找到软件中心并打开。在这里gpg命令安装linux?
gpg命令安装linux?,系统,环境,软件,管理,在线,最新,密码,不了,信息,命令,为什么Centos装上以后,执行apt-get命令提示没有该命令指令不一样。celinux更新安装命令行?
linux更新安装命令行?,软件,系统,工作,在线,地址,名称,官网,命令,中心,情况,Linux安装基本命令1、首先从官网下载hdf5,根据自己的要求下载对应linux命令安装ndk?
linux命令安装ndk?,系统,平台,工具,工程,信息,代码,百度,环境,位置,名字,如何在Linux中编译NDK应用?1、NDK编译步骤:a.选择 ndk 自带的例子 helllinux命令行安装软件?
linux命令行安装软件?,软件,系统,官网,工具,名称,在线,灵活,发行,中心,最新,Linux系统下怎样安装tar.gz格式的软件下载软件包:从官网或者其他可安装时linux常用命令?
安装时linux常用命令?,系统,工作,基础,地址,信息,工具,软件,命令,在线,数据,linux运维常用命令1、Curl命令用法 curl语法和参数选项 # curl [linux终端安装命令?
linux终端安装命令?,软件,官网,工作,信息,公司,网站,电脑,市场,中心,系统,Linux中安装使用RXVT命令行终端窗口程序的教程安装Wine软件 yum ins