微软官方文档在很多地方都提到了一些“安装脚本”。敌人的例子,here :
Instead the installer writes the custom action into the installation script.
我仔细检查了 MSDN 和一些关于 MSI 的书籍 - 找不到明确的定义这个安装脚本
是什么,它与 MSI
引擎有什么关系以及如何正是
installation script can be executed outside of the installation session in which it was written
它是关于此安装脚本
的一些定义和文档,还是一些未记录的MSI
引擎内部构件,仅供引用?
最佳答案
Windows Installer 是一种声明式(相对于命令式)编程语言。您无需使用某种语言编写“脚本”,而是使用表格数据来表达安装。例如考虑表格:
Feature -> Feature Components - Component -Directory
组件 -> 文件
您告诉 MSI,当安装给定功能时,需要安装属于它的组件。安装该组件时,需要创建一个目录并复制一个文件。如果安装程序回滚,则需要删除文件和目录。
这由各种标准操作处理,例如 CreateFolders 和 InstallFiles。我们不编写任何脚本来完成此操作。
但是,实际上有一个脚本。它由 Windows Installer 本身在运行时生成。在任何修改机器状态的标准操作中都有两个不同的阶段:
脚本生成——安装程序仔细考虑需要做什么并动态生成要执行的操作列表
脚本执行 - 安装程序现在正在执行该脚本。注意:这发生在 InstallFinalize 内部
记录您最喜欢的安装程序并开始在其中查找 InstallFiles 操作。您会看到这两个阶段。
在编写您自己的自定义操作时,这是非常重要的事情。有关该主题的更多信息,请参阅:
Installation Phases and In-Script Execution Options for Custom Actions in Windows Installer
关于windows-installer - MSI 中的 "installation script"是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16711018/