我們在安裝程式時通常會使用createshortcut命令來建立乙個快捷方式,如下,是在開始–>啟動項 裡建立run.bat的快捷方式。
createshortcut "$smprograms\啟動\run.lnk" "$instdir\bin\run.bat"
當我們在執行解除安裝操作時是這樣刪除的,如下
delete "$smprograms\啟動\run.lnk"
但是,無論怎麼樣都刪除不掉。
下面提供以下解決方案和為什麼刪不掉的原因:
原因:因為nsis中使用createshortcut建立快捷方式時會在每乙個人使用者下面都建立快捷方式,然後delete刪的時候卻只是在當前使用者下,因此怎麼刪也刪不掉。
解決方案:
1.在當前使用者下建立快捷方式。只需新增requestexecutionlevel user即可。
requestexecutionlevel user section createdirectory "$smprograms\vista test" createshortcut "$smprograms\vista test\hello.lnk" $windir\notepad.exe writeuninstaller $exedir\uninst.exe sectionend section uninstall delete "$smprograms\vista test\hello.lnk" rmdir "$smprograms\vista test" sectionend
2.刪除所有使用者下的快捷方式。首先新增requestexecutionlevel admin,然後在建立快捷方式和刪除快捷方式的地方加上setshellvarcontext all即可。
requestexecutionlevel admin #note: you still need to check user rights with userinfo! section setshellvarcontext all createdirectory "$smprograms\vista test" createshortcut "$smprograms\vista test\hello.lnk" $windir\notepad.exe writeuninstaller $exedir\uninst.exe sectionend section uninstall setshellvarcontext all delete "$smprograms\vista test\hello.lnk" rmdir "$smprograms\vista test" sectionend
NSIS解除安裝後無法刪除開始選單中的內容
我們在安裝程式時通常會使用createshortcut命令來建立乙個快捷方式,如下,是在開始 啟動項 裡建立run.bat的快捷方式。createshortcut smprograms 啟動 run.lnk instdir bin run.bat 當我們在執行解除安裝操作時是這樣刪除的,如下 del...
解除安裝迅雷後dll檔案刪除
為例,當我們用迅雷自帶的解除安裝程式進行解除安裝後,我們發現在迅雷的安裝目錄下的子目錄中 thundernetwork thunder comdlls 有乙個叫xunleibho 002的dll檔案無法直接刪除。不過怎麼才能知道是哪個程序呼叫了這個dll檔案呢?其實很簡單,用 windows xp自...
Mac解除安裝Fiddler後無法上網的解決方法
fiddler是乙個很好用的網路資料抓包工具,具體用法就不多說了,今天聊一下如何解決解除安裝後無法上網的問題。原來,fiddler的工作原理就是 內建乙個 作為客戶端和網路的中介。在fiddler啟動後,會自動新增乙個 ip 為127.0.0.1 迴路 埠號為8888的系統 當fiddler退出後,...