gpt4 book ai didi

WiX Action 序列

转载 作者:行者123 更新时间:2023-12-03 14:51:43 29 4
gpt4 key购买 nike

在运行 WiX 设置时,我正在寻找操作列表及其顺序。不知何故,官方网站似乎没有提供任何信息。

基本问题是我想正确安排我的自定义操作。通常我需要使用 regsvr32.exe 注册一个 DLL,而这只能在文件复制到硬盘驱动器后完成。但是自定义操作

<Custom Action="RegisterShellExt" After="InstallFiles">

失败并显示错误消息“找不到文件”。

然后我所做的是使用 WiX Edit 分析我的 MSI 日志,我发现 Action InstallFiles 不止一次存在。实际上,文件仅在第二次出现时才被写入。因此,我将自定义操作更改为以下内容:
<Custom Action="RegisterShellExt" Before="InstallFinalize">

这是我从 MSI 日志中提取的序列:
Action start 15:16:49: INSTALL.
Action start 15:16:49: PrepareDlg.
Action start 15:16:49: AppSearch.
Action start 15:16:49: LaunchConditions.
Action start 15:16:49: ValidateProductID.
Action start 15:16:49: DIRCA_NEWRETARGETABLEPROPERTY1.5D429292039C46FCA3253E37B4DA262A.
Action start 15:16:50: CostInitialize.
Action start 15:16:50: FileCost.
Action start 15:16:50: CostFinalize.
Action start 15:16:50: WelcomeDlg.
Action 15:16:51: LicenseAgreementDlg. Dialog created
Action 15:16:53: CustomizeDlg. Dialog created
Action 15:16:55: VerifyReadyDlg. Dialog created
Action start 15:16:56: ProgressDlg.
Action start 15:16:56: ExecuteAction.
Action start 15:16:58: INSTALL.
Action start 15:16:58: AppSearch.
Action start 15:16:58: LaunchConditions.
Action start 15:16:58: ValidateProductID.
Action start 15:16:58: CostInitialize.
Action start 15:16:59: FileCost.
Action start 15:16:59: CostFinalize.
Action start 15:16:59: InstallValidate.
Action start 15:17:00: InstallInitialize.
Action start 15:17:08: ProcessComponents.
Action 15:17:09: GenerateScript. Generating script operations for action:
Action ended 15:17:09: ProcessComponents. Return value 1.
Action start 15:17:09: UnpublishFeatures.
Action start 15:17:09: RemoveShortcuts.
Action start 15:17:09: RemoveFiles.
Action start 15:17:09: InstallFiles.
Action start 15:17:10: CreateShortcuts.
Action start 15:17:10: RegisterUser.
Action start 15:17:10: RegisterProduct.
Action start 15:17:10: PublishFeatures.
Action start 15:17:10: PublishProduct.
Action start 15:17:10: ConfigureInstaller.
Action start 15:17:10: InstallFinalize.
Action 15:17:10: ProcessComponents. Updating component registration
Action 15:17:12: InstallFiles. Copying new files
Action 15:17:21: CreateShortcuts. Creating shortcuts
Action 15:17:21: RegisterProduct. Registering product
Action 15:17:23: ConfigureInstaller. [[note: CustomAction]]
Action 15:17:22: PublishFeatures. Publishing Product Features
Begin CustomAction 'ConfigureInstaller'
Action 15:17:28: RollbackCleanup. Removing backup files
Action ended 15:17:28: InstallFinalize. Return value 1.
Action start 15:17:28: RegisterShellExt. [[note: CustomAction]]
Action ended 15:17:33: INSTALL. Return value 1.
Action start 15:17:35: ExitDialog.

有谁知道官方列表吗?

最佳答案

简短的回答 - 你应该让你的自定义操作延迟并在 InstallFiles 之后安排(如果它依赖于已安装的文件,我认为它确实如此)。

长答案 - 您应该熟悉脚本内执行术语。 Read more about it on MSDN .当您第一次在日志文件中看到 InstallFiles 时,就是在运行即时操作并将延迟操作写入并安排到安装脚本时。第二次是它实际执行(并安装文件)的时候。如果您延迟操作,您将在日志文件中看到相同的行为。

这听起来可能不是很清楚,但是直到您阅读更多有关其设计工作方式的信息后才能理解。

关于WiX Action 序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4970780/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com