# 设置为当前用户
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 的卸载部分是手工写的,生成脚本也只是免去你手动写部分脚本,并不能做到自动李迅做根据安装的文件来卸载。如果你觉得卸载不干净,很简单,把删除昌早你认为该删的东西的脚本放在卸载段就完了。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)