更改目录的目标位置
如果可能,指定目录目标位置的最佳方法是在安装包中创作 Directory 表,以提供正确的位置。 有关详细信息,请参阅使用 Directory 表。
如果需要在安装时更改目录位置,可以使用以下选项:
- 通过在命令行上设置 Public Property 的值,指定目录的位置。 在 CostFinalize 操作期间,安装程序使用的内部目录路径将更新为 Directory 表中作为键列出的属性的值。 有关详细信息,请参阅使用属性和在命令行上设置公共属性值。
- 使用自定义操作指定目录的位置。 如果自定义操作要在 CostFinalize 操作之前运行,则可以使用自定义操作类型 51 从格式化文本字符串设置属性的值。 如果自定义操作在 CostFinalize 操作之后运行,则可以使用自定义操作类型 35 设置格式化文本字符串中的目录路径的值。 如果自定义操作将更改某个系统文件夹属性,则应将其同时包含在执行序列表(InstallExecuteSequence 表或 AdminExecuteSequence 表=)、用户界面序列表(InstallUISequence 表和 AdminUISequence 表)中,以便在完整 UI 和基本 UI 安装期间更改文件夹。
- 如果安装正在运行完整 UI,则可以使用 MsiSetTargetPath 或 SetTargetPath ControlEvent 来设置目录路径。 在调用 MsiSetTargetPath 或 SetTargetPath ControlEvent 之前,请检查 ProductState 属性以确定是否已安装包含此组件的产品。 如果已为当前用户或其他用户安装了使用该路径的某些组件,请不要尝试更改目标目录路径。
以下限制适用于上述所有选项:
- 如果已为当前用户或其他用户安装了使用该路径的某些组件,请不要尝试更改目标目录路径。
- 请勿在维护安装期间尝试更改目标目录路径。