Windows安装程序 - 运行后续时间,选择"修改"并运行特定步骤

时间:2015-06-09 20:39:38

标签: windows-installer installshield

我在InstallShield 2014 Premier中内置了一个安装程序作为基本的MSI项目。 UI的一部分包括一个选项屏幕,用户可以在其中选择修改,修复或删除。如果用户选择修改,我想在UI(或命令行中设置的公共属性)中收集一些信息,并将快捷方式安装到自定义文件夹(请参阅this question),然后运行DLL自定义操作。目前,使用InstallShield提供的开箱即用序列,自定义操作将被执行(成功),并且看起来像是尝试创建快捷方式。安装程序日志显示保存正在执行的快捷方式的目录的set属性,并以预期值结束。这是日志的摘录:

...
MSI (s) (B8:E8) [16:08:08:823]: Doing action: UpdateShortcutFolder
Action 16:08:08: UpdateShortcutFolder. 
Action start 16:08:08: UpdateShortcutFolder.
MSI (s) (B8:E8) [16:08:08:824]: PROPERTY CHANGE: Modifying ENV_FOLDER property. Its current value is 'C:\Program Files (x86)\MyCompany\MyProduct\PROD Environment\'. Its new value: 'C:\Program Files (x86)\MyCompany\MyProduct\TEST Environment'.
Action ended 16:08:08: UpdateShortcutFolder. Return value 1.
...
MSI (s) (B8:E8) [16:08:09:033]: Doing action: CreateShortcuts
Action 16:08:09: CreateShortcuts. Creating shortcuts
Action start 16:08:09: CreateShortcuts.
MSI (s) (B8:E8) [16:08:09:034]: Note: 1: 2205 2:  3: MsiShortcutProperty 
MSI (s) (B8:E8) [16:08:09:034]: Note: 1: 2205 2:  3: MsiShortcutProperty 
Action ended 16:08:09: CreateShortcuts. Return value 1.
...

非零返回值是否表示成功?看似成功的其他操作返回1(例如,设置属性操作,我的DLL自定义操作)。但是,我可以找到的唯一快捷方式与原始安装位于同一个自定义文件夹中,并且这些快捷方式似乎未经修改。

它在我看来好像是一个"修改"只运行与原始安装相同的步骤(InstallExecuteSequence表中没有条件指示其他情况),所以我不明白为什么我的快捷方式没有被创建。我错过了什么?

0 个答案:

没有答案