NSIS 卸载的时候Win7不能清空快捷方式

NSIS 卸载的时候Win7不能清空快捷方式,第1张

NSIS 中部唯携仔分变量可以通过一个环境设置命令 SetShellVarContext 来设置:

# 设置为当前用户

SetShellVarContext current

# 此时 $DESKTOP 指向 C:\Users\Administrator\Desktop

# 设置为所有用户

SetShellVarContext all

# 此时 $DESKTOP 指向 C:\Users\Public\Desktop

SetShellVarContext 会影响到如 $DESKTOP、$DOCUMENTS、$SMPROGRAMS、$APPDATA 等很多变量的值。上面的路径是在 Windows 7 系统下 Administrator 用户的隐含路径,实际中这些变量的路径和与 *** 作系统和用户名有关。

在 Windows Vista 或者 Windows 7 下创建快捷方式的时候,可指汪能由于权限问题,此快捷方式被创建到所有用户的路径。你可以通过查看你创建的快捷方式的属性,在 "常规" 下有一个 "位置",你可以看到 C:\Users\Public\Desktop 这样的路径,即所有用户(公共用户)的桌面。所以需要在卸载的时候先指定 SetShellVarContext all 再进行卸载,在 XP 上不存在此问题。你还可以这样:

# 设置为当前用户

SetShellVarContext current

# 你的删除代码

# 设置为所有用户

SetShellVarContext all

# 你的删除代码

NSIS 只是一个脚本编译器,该脚本专用来制作安装程序。VNISEdit 充其量就是个第三方哪衡辅助工具而已,它生成的脚本不见得 100% 完美。这个工具很多年没更新了。VNISEdit 还是调用makensis.exe 来编译,所以你用啥编译结果都是一样的。NSIS 的卸载部分是手工写的,生成脚本也只是免去你手动写部分脚本,并不能做到自动李迅做根据安装的文件来卸载。如果你觉得卸载不干净,很简单,把删除昌早你认为该删的东西的脚本放在卸载段就完了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12293871.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存