Microsoft 官方文档在许多地方都提到了一些“安装脚本”。敌人的例子,在这里:
相反,安装程序会将自定义操作写入安装脚本。
我仔细检查了 MSDN 和一些关于 MSI 的书籍 - 找不到明确的定义这是什么installation script
,它与MSI
引擎的关系以及它的确切含义
安装脚本可以在编写它的安装会话之外执行
是关于此的一些定义和文档,还是仅出于参考书目目的而引用installation script
的一些未记录的引擎内部?MSI
Microsoft 官方文档在许多地方都提到了一些“安装脚本”。敌人的例子,在这里:
相反,安装程序会将自定义操作写入安装脚本。
我仔细检查了 MSDN 和一些关于 MSI 的书籍 - 找不到明确的定义这是什么installation script
,它与MSI
引擎的关系以及它的确切含义
安装脚本可以在编写它的安装会话之外执行
是关于此的一些定义和文档,还是仅出于参考书目目的而引用installation script
的一些未记录的引擎内部?MSI
Windows Installer 是一种声明式(相对于命令式)编程语言。您可以使用表格数据来表达安装,而不是用某种语言编写“脚本”。例如考虑以下表格:
特征 -> 特征组件 - 组件 - 目录
组件 -> 文件
您告诉 MSI,当安装给定功能时,需要安装属于它的组件。安装组件时,需要创建目录并复制文件。如果安装程序回滚,则需要删除文件和目录。
这由各种标准操作处理,例如 CreateFolders 和 InstallFiles。我们不编写任何脚本来完成此操作。
但是,实际上有一个脚本。它是由 Windows Installer 本身在运行时生成的。任何修改机器状态的标准动作都包含两个不同的阶段:
脚本生成 - 安装程序正在仔细考虑需要执行的操作并动态生成要执行的操作列表
脚本执行 - 安装程序现在正在执行该脚本。注意:这发生在 InstallFinalize 内部
记录您最喜欢的安装程序并开始查看它的 InstallFiles 操作。你会看到这两个阶段。
在编写自己的自定义操作时,这是非常重要的事情。有关该主题的更多信息,请参阅: