Innosetup,WiX和Visual Studio Professional用户,前辈。这不是关于这些工具及其亲属的问题。
我想制作一个MSI文件。通过与Orca一起检查,我大致知道MSI文件是由什么构成的。 (随Windows 7 SDK一起提供)我知道你可以让MSI做其他事情。 (只是因为它可以嵌入本机DLL映像并调用其导出函数)
我想知道如何从一组源文件生成MSI文件。简而言之,任何人都可以给我:
答案 0 :(得分:1)
暂时忘记“编译”这个词。这是WiX和InstallShield带来的一个比喻。 (.wxs - > .MSI或.ism - > .MSI)在纯粹的准系统Windows Installer世界中,您只需创建MSI数据库。
从技术上讲,创建Windows Installer数据库所需的一切都已安装在Windows的准系统安装中。通过VB / JScript,您可以使用Windows Installer Automation Interface来创建和更新数据库。例如,Installer.OpenDatabase method可用于创建空的.MSI。如果您更愿意在C ++中执行此操作,则可以使用Windows Installer API MsiOpenDatabase function。您也可以使用.NET应用程序进行互操作。但是,老实说,Windows Installer XML在Deployment Tools Foundation(DTF)中有一个名为Microsoft.Deployment.WindowsInstaller的库,这是执行此操作的黄金标准。你不会浪费生命中的一分钟处理互操作问题,因为他们已经为你做了这件事。
如果要安装Windows Platform SDK,您会找到一堆标题和库以及Windows Installer Scripting Examples。当然还有你最好的朋友,Windows Installer数据库编辑器Orca.exe。
现在,所有这些都是良好的基础知识。但说实话,这些只是Microsoft在1999年创建的SDK资源。它们主要用于Windows Installer Tools开发人员,而不是Windows Installer开发人员。你是谁?如果您正在创建一个新工具,我感谢您,并希望这些信息可以帮助您入门。如果您正在创建MSI,除了您在问题中设置的限制之外,我可以为您提供更好的答案。