installshield - 卸载期间无法删除注册表项
installshield- cannot delete registry key during uninstall
我有带链式 msi 的安装程序。
如果我卸载,它不会删除 chaind msi 的注册表项。
我尝试了很多方法都没有成功。
我正在写我的方法,希望有人能找到哪里出了问题:
我写了一个批处理文件:
注册删除HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall{产品代码} /f
当我 运行 它是独立的时,这个批处理文件删除了注册表项,但是如果我将它作为自定义操作通过 installshield 放置它,它就会失败。
通过自定义操作:
LaunchAppAndWait("C:\Windows\System32\cmd.exe ", "/C REG DELETE HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{产品代码} /f", WAIT);
通过调整批处理文件的自定义操作
LaunchAppAndWait("C:\Windows\System32\cmd.exe ", "/C \"C:\Program Files\Apache Software Foundation\Tomcat 7.0\bin\remove registryKey.bat\"", 等待);
MsiExec.exe /x{GUID} - 失败,因为它不能 运行 两个并行安装
我真的需要你的帮助!!!
很久以前我一直在尝试解决它,但没有成功。
提前致谢!!!
32 位还是 64 位机器?您可能 运行 在 64 位计算机上安装 32 位。它可能删除了错误的注册表项(32/64 位)。通过执行 REG DELETE /?
查看帮助
注意 /reg:32 和 /reg:64 参数。使用合适的。
还要检查 bat 文件中的错误。出错时暂停(至少在您获得正确的代码之前)。
我有带链式 msi 的安装程序。
如果我卸载,它不会删除 chaind msi 的注册表项。 我尝试了很多方法都没有成功。
我正在写我的方法,希望有人能找到哪里出了问题:
我写了一个批处理文件:
注册删除HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall{产品代码} /f
当我 运行 它是独立的时,这个批处理文件删除了注册表项,但是如果我将它作为自定义操作通过 installshield 放置它,它就会失败。
通过自定义操作:
LaunchAppAndWait("C:\Windows\System32\cmd.exe ", "/C REG DELETE HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{产品代码} /f", WAIT);
通过调整批处理文件的自定义操作
LaunchAppAndWait("C:\Windows\System32\cmd.exe ", "/C \"C:\Program Files\Apache Software Foundation\Tomcat 7.0\bin\remove registryKey.bat\"", 等待);
MsiExec.exe /x{GUID} - 失败,因为它不能 运行 两个并行安装
我真的需要你的帮助!!! 很久以前我一直在尝试解决它,但没有成功。
提前致谢!!!
32 位还是 64 位机器?您可能 运行 在 64 位计算机上安装 32 位。它可能删除了错误的注册表项(32/64 位)。通过执行 REG DELETE /?
查看帮助注意 /reg:32 和 /reg:64 参数。使用合适的。
还要检查 bat 文件中的错误。出错时暂停(至少在您获得正确的代码之前)。