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

2024-06-07

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


如果您在 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">
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

izPack 创建的卸载程序在 Windows“程序和功能”中不起作用 的相关文章

随机推荐

  • 如何在@Query中使用枚举作为常量

    我尝试在之后放置完整的类路径 com xxxx State Finish 但没有帮助 Query select c from CustomOrder c where c dealer roleName and c nextManager n
  • iOS 8 启动图像文件 - 导航栏和状态栏

    我正在使用 Interface Builder 制作 iOS 8 的启动图像文件 我想要的启动图像非常简单 我认为与 设置 应用程序相同 顶部的导航栏带有一个空的分组 TableView 无标题等 请注意 我通常不使用 Interface
  • Google 字体(上面有空格)无法在 IE7/IE8 上呈现

    有谁知道为什么 IE7 IE8 不会渲染 Google 字体 如果名称上有空格 您可以在这里查看演示 http jsfiddle net fYzAb 1 http jsfiddle net fYzAb 1 完全相同的两个标签 一个使用 Os
  • JavaScript 中 + 运算符和 concat() 方法有什么区别

    The 加 运算符 and String concat 方法给出相同的结果 加 运算符 str1 str2 字符串 concat 方法 str1 concat str2 另外 它写在w3学校 http www w3schools com j
  • 如何直接从 Razor View 调用 .NET CORE MVC 中的 POST 方法?

    我想从控制器调用我的方法 HttpPost public async Task
  • 容器上的“container_memory_working_set_bytes”指标和 OOM-killer 之间有什么关系?

    我试图找出并理解 OOM killer 如何在容器上工作 为了弄清楚这一点 我读了很多文章 发现 OOM killer 会根据oom score And oom score是由oom score adj以及该进程的内存使用情况 有两个指标c
  • 使用deleteRowsAtIndexPaths后indexPath未更新

    我创建了一个方法 当用户想要删除单元格时更新我的 UITableView void removeMoreFriendsRow NSNotification notification NSDictionary d notification u
  • 在 OpenGL ES 1.1 中创建闪电

    我需要使用 OpenGL ES 1 1 iPhone 创建漂亮的闪电 并计划使用着色器 然而 当我在上一个问题中询问它时 OpenGL ES 1 x 着色器 https stackoverflow com questions 543948
  • 我们如何确定总数? Hive 表的桶数

    我对 hadoop 有点陌生 根据我的知识桶是固定的 hive 表中的分区数和 hive 使用编号 减速机数量与总数量相同创建表时定义的存储桶数量 那么谁能告诉我如何计算总数 Hive 表中的桶数 有没有计算桶总数的公式 让我们看一个场景
  • 我尝试使用 googlemock 模拟简单的 C++ 方法有什么问题?

    As per 用于对进行标准库调用的 C 方法进行单元测试的模式 https stackoverflow com questions 5779618 patterns for unit testing a c method that mak
  • 如何从 android studio 3.2 中删除 generatedJava

    安卓工作室3 2 我已将我的项目迁移到 android studio 3 2 迁移后我看到生成的Java我的 Android 文件夹结构中的文件夹 我没有任何用处 我怎样才能删除这个生成的Java文件夹来自安卓工作室 为什么要删除这个 He
  • 在 Bash 中使用“$RANDOM”生成随机字符串

    我正在尝试使用 Bash 变量 RANDOM创建一个由包含整数和字母数字的变量中的 8 个字符组成的随机字符串 例如 var abcd1234ABCD 我怎样才能做到这一点 使用参数扩展 chars 是可能的字符数 是模运算符 chars
  • “冲流”是什么意思?

    我读到 对于 C 中的新行 n 优于 endl 因为 endl 会插入新行并刷新流 请告诉我什么是冲洗流 刷新流可确保输出已写入该流的所有数据 包括清除可能已缓冲的任何数据 一些流被缓冲以提高性能 例如写入磁盘的流可能会缓冲 直到内容达到块
  • 烧瓶jwt和烧瓶jwt扩展之间有区别吗?

    我一周前刚刚了解了 Flask 和 JWT 所以我真的需要一些帮助 有人可以解释flask jwt 和flask jwt extended 之间的区别吗 Flask JWT 没有那么多功能 做出了一些愚蠢的设计选择 并且已经被放弃多年 看看
  • 限制相同的数据条目

    我是 SQL 新手 我有两张桌子 一张放冰箱 一张放食物 一台冰箱只能存放 5 种食物 所以我想知道是否有办法限制食物表中只有 5 个相同的冰箱 ID 条目 没有直接的方法来强制执行这样的约束 我能想到的最好的是 有一个 冗余 列food
  • IIS 7 规范 URL 重定向

    我想让一个网站的地址中始终包含 www 并通过 IIS 重写强制执行 例如 test com 将变为 www test com 典型的重写规则示例是
  • 在 iPhone/iPod 上保存和编辑 JSON

    在 iPhone iPod 上编辑和保存 JSON 文件的最佳方法是什么 我知道有一些库可以让您轻松读取 JSON 数据 但是有没有可以让您生成它的库 TouchJSON http code google com p touchcode w
  • 如何在android studio中生成多值二维码

    例如 我想输入多个文本字段 name email password address 然后我想根据这个输入生成一个二维码 我怎样才能在android studio中做到这一点 设置库和清单 打开应用程序级 gradle 文件并导入库 impl
  • 如何在spark中将矩阵转换为RDD[Vector]

    如何转换自org apache spark mllib linalg Matrix to RDD org apache spark mllib linalg Vector 在火花 该矩阵是由 SVD 生成的 我正在使用 SVD 的结果进行聚
  • izPack 创建的卸载程序在 Windows“程序和功能”中不起作用

    我正在使用 izPack 4 3 4 为 java 项目开发图形安装程序 安装进展顺利 但是当我尝试通过单击 程序和功能 窗口中的参考来卸载它时 它会显示以下消息 Error Unable to access jarfile C Progr