5

我正在使用 izPack 4.3.4 为 java 项目开发图形安装程序,安装运行良好,但是当我尝试通过单击“程序和功能”窗口中的参考来卸载它时,它会显示以下消息:

Error: Unable to access jarfile C:\Program Files (x86)\myproject\uninstaller\uninstaller.jar

事实是我选择将卸载程序放在我的程序的根安装路径中并重命名,而不是在 \uninstaller 目录中。请参阅 XML:

<info>
...
  <uninstaller name="uninstall.jar" write="yes" path="${INSTALL_PATH}" />
...
</info>

而且,实际上,uninstall.jar 文件是在 C:\Program Files (x86)\myproject\ 中创建的,如果我双击它或通过“开始”菜单,它就可以工作。我认为 izpacks 在 Windows 的注册表中写入了错误的数据以在“程序和功能”中引用它......但我不知道为什么......

4

1 回答 1

1

如果您在 Windows 上使用 IZPack 进行安装,您可以(应该)有一个 RegistrySpec.xml。那家伙写了你需要的所有注册表项。Windows 查找注册表值“UninstallString”作为要运行的文件以启动卸载,您可能需要覆盖它。例如在我的:

<pack name="UninstallStuff">
<!-- Special "pack", if not defined an uninstall key will be generated automatically -->
<value name="UninstallString"
    keypath="SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$APP_NAME"
    root="HKLM"
    string="$INSTALL_PATH\uninstall\uninstaller.cmd"/>    
<pack name="UninstallStuff">
于 2012-11-30T13:45:31.033 回答