【发布时间】:2013-04-01 05:55:39
【问题描述】:
我正在使用 Installshield 2011 开发安装程序,项目类型为基本 MSI,我有自定义操作,该操作按应在卸载期间执行的方式进行排序。这是我配置的自定义操作属性的附加快照。
我面临的问题是在卸载期间未执行配置的自定义操作,最终安装的应用程序将不会被删除。
以下是详细日志记录的条目:
00532: (Unknown): InstallShield 11:01:17: Registering Msi Server...
00533: (Unknown): InstallShield 11:01:17: **Invoking script function MyFunction**
00534: (Unknown): InstallShield 11:01:17: **CallScriptFunctionFromMsiCA() ends**
00535: (Unknown): CustomAction NewCustomAction1 returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)
00536: (Unknown): Action ended 11:01:17: **NewCustomAction1. Return value 3.**
00537: (Unknown): Action ended 11:01:17: **INSTALL. Return value 3.**
00538: (Property): Property(S): DiskPrompt = [1]
00539: (Property): Property(S): UpgradeCode = {40AD9645-1459-4C32-8285-D1C0B163361D}
00540: (Property): Property(S): ProductCode = {84BDE810-2C23-48CA-A638-5B131DA3B57F}
我错过了什么吗?
【问题讨论】:
-
您想要完成的自定义操作是什么?它是否试图与在卸载过程中(已经)被删除的文件进行交互?附带说明:我避免像瘟疫一样使用 InstallScript。
-
问候 NGaida,当前的自定义操作仅包含弹出消息,除此之外我没有做任何事情。基本上我想先测试一下,然后才能进行实际的实现,即在卸载期间从 app.config 文件中删除 XML 标记。
-
InstallScript 自 InstallShield 12 以来一直很稳定。不过,我不再投资它了。我倾向于用 C#/DTF 和偶尔的 C++ 做所有事情。但我并不是说“避免”InstallScript。
-
@ChristopherPainter 我需要在安装我的 msi 文件期间卸载 2 个应用程序。我编码以编程方式卸载应用程序并在 installer.cs 中调用该函数。但这不是卸载应用程序,我已经提出SO中的问题请查看并指导我stackoverflow.com/questions/26863294/…
标签: windows-installer installshield installshield-2011