我正在尝试简化安装后需要更改注册表的软件包的安装。我希望能够只将注册表更改添加到MSI中(我没有编写代码,我只是尝试编辑现有的MSI)并远程部署它并完成它。
有人能提供一些关于如何执行此操作的好例子吗?此外,任何有关修改MSI的书籍的建议或对微软提供的内容进行深入解释的网站都将非常感激。
谢谢,
答案 0 :(得分:4)
MSDN有一个如何使用ORCA创建MSI包的分步示例。其中一个步骤是如何添加注册表信息。你可以找到它here
答案 1 :(得分:1)
您正在寻找的是一种变换。参见:
Basic Patch and Transform Concepts in ORCA
基本上,您使用ORCA(或InstallShield Tuner或类似工具)使用注册表值创建转换,然后将其保存到MST文件。从那里你可以说:
msiexec / i foo.msi TRANSFORMS = foo.mst
如果不修改原始MSI,您将看到预期的行为。此外,如果供应商发布新的MSI,您很有可能将MST应用于新的MSI。 (YMMV取决于MSI中从发布到重新更改的内容。)
BTW,虽然安装开发人员了解转换非常重要,但您的问题通常被视为IT部署问题,可能属于ServerFault。另外我应该注意,InstallShield有一个Transform项目类型,允许你使用InstallShield的完整UI来创建MST,而无需直接处理(除非你需要/想要)底层的MSI表。
答案 2 :(得分:-1)
您可以在Visual Studio中使用“安装和部署”项目。 http://support.microsoft.com/kb/307353
http://msdn.microsoft.com/en-us/library/aa266445%28v=vs.60%29.aspx