如何将带有特殊唯一生成令牌的配置文件添加到msi文件?这个想法是,用户注册一个客户端计算机,并且安装程序在配置文件中附带唯一值。我已经读过有关msidb.exe的信息,但我想知道是否有更好,更清洁,更轻松的解决方案。有什么想法吗?
答案 0 :(得分:0)
添加自定义文件 :您可以将自定义文件添加到MSI,有几种方法可以这样做,但是它涉及到很多而且很麻烦。诸如Wise(不再可用)之类的商业工具提供了添加此类文件的简便方法。您也可以手动编辑Media和Cab表。我很久以前就写了这个答案,并提供了一些细节:Adding an external CAB to an MSI with an internal one。
参数化设置 :该令牌是某种加密或许可证密钥吗?我假设您要向安装程序提供一些自定义参数?这意味着什么?执照?服务器名称?用户名?网址?还是这是为您的用户生成的二进制文件,安装程序无法轻松生成该二进制文件?如果这些只是配置设置,更好的方法可能是使用转换来设置安装参数,或者当通过msiexec.exe命令行安装MSI时,可以向MSI提供参数。此处描述了 msiexec.exe
的变换的使用和命令行参数的使用: {{3} } 。 Essentially you set properties that will be inserted into configuration files during installation
。本质上,转换是很少的数据库片段,在安装时会应用设置来修改具有用户特定设置的原始安装。因此,它本质上就是您所需要的。也许。原则上也可以自动生成变形-通过施加一些肘部油脂和耐心。
MSI配置 :将参数传递到安装过程后,您可以轻松地将它们写入 INI
文件中使用内置的MSI结构。所有主要工具中都有扩展,可让您编写 XML
。例如,还有其他几个扩展来设置防火墙选项,上帝知道。我们在谈论哪种配置文件?您还可以使用自定义操作来基本完成更新文件和系统上其他内容所需的任何操作-付出的代价是滚动自己的解决方案可能带来的所有错误。
应用程序 :通常最好在安装后使用应用程序本身进行应用程序配置。这样可以大大简化调试和支持应用程序的过程,而不必依赖“一键式”设置而无需交互式错误消息供用户报告以支持。
摘要 :因此,实质上,我的意思是您可以按照建议注入文件,也可以通过转换或命令行为安装程序提供参数以在磁盘上写入或生成文件,或者您可以让应用程序根据在应用程序启动期间写入INI或XML文件的设置来生成二进制文件。您还可以通过设置GUI而不是通过命令行上的PUBLIC属性来获取要写入配置文件的自定义值。
某些链接 :