NSIS安装包卸载问题(无法卸载nsis error launching installer)分析

探讨使用NSIS编写的卸载程序在多次安装卸载后无法正常工作的现象。卸载过程中,程序试图创建临时文件用于自删除,但因权限或文件状态问题导致失败。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题:前段时间利用NSIS写的卸载程序,但是,经过多次的安装卸载以后发现,无法无法卸载程序了.所有利用NSIS生成的卸载程序都无法卸载

卸载过程描述:NSIS卸载程序每次卸载的时候,先是拷贝自己到一个临时文件夹C:/Documents and Settings/userXXXXX/Local Settings/Temp/~nsu.tmp/
名字一般是Au_.exe,或者是Bu_.exe,。。。一直可以到Zu_.exe。假设上一步骤生成的是Au_.exe.然后uninstall.exe调用Au_.exe _?=$(path),注意_?=$(path)为Au_.exe的参数,&(path)为uninstall所在的的文件夹。意思是把当前目录设置为uninstall所在的文件夹。
NSIS这么做主要是利用Au_.exe最后来删除自己。
其中有个细节就是删除程序运行开始会先生产一个临时的文件,名字是Au_.exe,,,,,,,Zu_.exe。
规则如下:
uninstall.exe先是尝试删除上面提到的临时目录下已经有Au_.exe,Bu_.exe,,,,,一直到Zu.exe的文件,然后去生成一个Xu_.exe,X为A~~Z的字母,优先级从高到低。

若无法生存*u.exe文件或者要被删除的文件有只读属性,就会删除失败,导致卸载失败。

### 回答1: 可以使用安装程序(installer)来安装Java项目,可以通过运行指定的安装程序来完成安装,也可以使用Java应用程序安装程序(Java Application Installer)来安装Java应用程序。 ### 回答2: 在Java项目中使用安装程序(installer)来安装应用程序有多种方法。下面是常见的几种方法: 1. 打包JAR文件:首先,将Java项目打包成一个可执行的JAR文件。可以使用Maven或Gradle等构建工具来自动化此过程。然后使用一个打包工具,如Inno Setup、Install4j或NSIS等来创建一个安装程序。安装程序可以将JAR文件、所需的依赖项和运行所需的配置文件等一并打包,并可以在用户的计算机上创建快捷方式来启动应用程序。 2. 使用JavaFX打包工具:如果你使用JavaFX创建的GUI应用程序,可以使用JavaFX提供的打包工具来创建一个自包含的安装程序。JavaFX提供了一个名为javapackager的工具,可以将JavaFX应用程序和其依赖项打包成一个安装程序。可以使用Control Panel编辑器呈现自定义安装界面和创建快捷方式等。 3. 使用Java Web Start:Java Web Start是一种用于部署Java应用程序的技术,它允许从浏览器启动Java应用程序。使用Java Web Start,可以将Java项目打包成一个JNLP文件(Java Network Launching Protocol),然后在用户计算机上安装Java Runtime Environment(JRE)。然后用户可以通过单击JNLP文件链接来启动应用程序,Web Start会自动下载和安装所需的资源,并执行应用程序。 4. 使用可执行文件生成工具:除了打包成JAR文件外,还可以将Java项目编译成本地可执行文件,例如使用GraalVM将Java代码编译成本机平台的可执行文件。然后可以使用原生安装程序创建工具,如Install4j或Inno Setup等,创建一个将可执行文件及其依赖项一并打包的安装程序。 使用上述方法之一来创建一个安装程序将能方便地在用户的计算机上安装和运行Java项目。根据特定的项目需求和目标用户,选择最适合的方法来打包和分发应用程序。 ### 回答3: 在Java项目中使用安装程序(installer)来安装可以通过以下步骤实现: 1. 确定所需要的安装程序。安装程序有很多种,如InstallShield、Inno Setup等。选择一个适合的安装程序,并下载和安装它。 2. 创建一个安装脚本。安装脚本用于定义安装程序的行为和安装过程中的各种设置。在安装脚本中,你可以指定安装目录、创建快捷方式、配置环境变量等。 3. 打包项目。使用构建工具(如Maven或Gradle)打包你的Java项目。将项目的所有必要文件(包括依赖项)打包成一个可执行的JAR文件或一个ZIP文件。 4. 编写安装脚本。编写一个简单的批处理或脚本文件,用于调用安装程序,执行安装脚本,并将项目文件提取到指定目录。你可以在脚本文件中使用命令行参数来自定义安装过程。 5. 创建安装程序的可执行文件。使用安装程序的命令行工具来创建一个可执行文件。这个可执行文件可以是一个免安装的独立安装程序,也可以是一个自解压缩文件,用户双击它后自动解压并执行安装。 6. 运行安装程序。将安装程序的可执行文件发送给用户,用户双击运行该文件。安装程序会自动执行安装脚本,将项目文件提取到指定目录。 通过以上步骤,你可以使用安装程序来安装你的Java项目。安装程序可以简化用户的安装过程,并提供了一些额外的功能,如创建快捷方式、配置环境变量等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值