izPack创建一个在Windows“程序和功能”中不起作用的卸载程序

时间:2011-09-14 07:33:07

标签: uninstaller izpack

我正在使用izPack 4.3.4开发java项目的图形安装程序,安装顺利但是当我尝试通过单击“程序和功能”窗口中的引用来卸载它时,它显示消息:< / p>

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的注册表中写错了数据,以便在“程序和功能”中引用它......但我不知道为什么......

1 个答案:

答案 0 :(得分: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">