我有一個安裝程序RequestExecutionLevel user
(我想保留啓動我的安裝程序沒有管理員權限的可能性)。但我想知道一種刪除當前用戶的所有應用程序快捷方式的方法。這樣的命令是否存在?在兩個地方NSIS可以刪除非管理員當前用戶的所有快捷方式嗎?
-2
A
回答
1
的Windows商店的快捷鍵,快捷鍵的私人存儲在他們的個人資料的用戶和提供給所有用戶的文件夾中的快捷方式訪問(但不一定是可寫的)的所有用戶。
試運行這樣
Section
SetShellVarContext current ; Used for demonstration purposes, it is the default context
DetailPrint $StartMenu
DetailPrint $SMPrograms
DetailPrint $Desktop
DetailPrint ---
SetShellVarContext all
DetailPrint $StartMenu
DetailPrint $SMPrograms
DetailPrint $Desktop
SectionEnd
,你應該得到這樣的事情
C:\Users\Anders\AppData\Roaming\Microsoft\Windows\Start Menu
C:\Users\Anders\AppData\Roaming\Microsoft\Windows\Start Menu\Programs
C:\Users\Anders\Desktop
---
C:\ProgramData\Microsoft\Windows\Start Menu
C:\ProgramData\Microsoft\Windows\Start Menu\Programs
C:\Users\Public\Desktop
與RequestExecutionLevel user
一個卸載程序將只能夠在用戶(目前的)情況下刪除快捷方式,但該如果你的安裝者首先在那裏寫它們,那麼這不是問題。
NSIS不會自動刪除快捷方式,你必須手動完成:
Section "Installer"
SetOutPath $InstDir
File "MyApp.exe"
WriteUninstaller "$InstDir\Uninst.exe"
CreateDirectory "$SMPrograms\MyApp"
CreateShortcut "$SMPrograms\MyApp\MyApp.lnk"
CreateShortcut "$SMPrograms\MyApp\MyApp (No extensions).lnk" "-NoExt"
SectionEnd
Section "Uninstaller"
Delete "$SMPrograms\MyApp\MyApp.lnk"
Delete "$SMPrograms\MyApp\MyApp (No extensions).lnk"
RMDir "$SMPrograms\MyApp"
Delete "$InstDir\MyApp.exe"
Delete "$InstDir\Uninst.exe"
RMDir "$InstDir"
SectionEnd
這是不正常的行爲安裝,刪除用戶創建其他自定義快捷鍵。您可以通過使用FindFirst
和Win\COM.nsh
的COM的IShellLink接口來枚舉和檢查每一個快捷方式,刪除指向您的應用程序快捷方式在理論上做到這一點。
固定快捷方式和跳轉列表可以使用WinShell plug-in或using the COM interfaces directly刪除。
+0
'這是不正常的行爲安裝刪除由users.'創建的其他自定義快捷鍵,但這些快捷方式將卸載之後被打破。 「FindFirst」真的很快命令,或者我不應該試試這個?我的意思是,如果這會執行很長時間(例如超過一分鐘),我不會這樣做。 –
相關問題
- 1. NSIS - 適用於所有用戶的桌面快捷方式
- 2. 不同用戶的Nsis快捷方式
- 3. NSIS覆蓋快捷方式
- 4. 從「快捷方式」運行,並「以管理員身份運行」
- 5. Qt - 刪除快捷方式 - 模糊的快捷方式超載
- 6. 當前登錄用戶/管理員不能刪除本身(當前登錄的)
- 7. 以編程方式在Android中刪除所有主屏幕快捷方式
- 8. 我可以刪除當前的所有分支嗎?
- 9. Javascript快捷方式...有可能嗎?
- 10. 如何以編程方式從用戶桌面刪除快捷方式?
- 11. 檢索除管理員以外的所有用戶名
- 12. Android刪除HomeScreen中的快捷方式
- 13. 可以以編程方式清除孤立的用戶固定的Windows 7任務欄快捷方式嗎?
- 14. 當前用戶在Django管理員
- 15. SonarQube項目管理員可以通過API刪除項目嗎?
- 16. Android刪除桌面快捷方式
- 17. eclipse快捷方式刪除警告
- 18. 刪除標記塊快捷方式
- 19. UnauthorizedAccessException刪除Windows移動快捷方式
- 20. Environment.MachineName可用於非管理員用戶嗎?
- 21. NSIS CreateShortCut:開始菜單上的快捷方式以便
- 22. 使用powershell獲取當前登錄用戶以添加桌面快捷方式
- 23. 是否有任何快捷方式可以在Visual Studio中選擇當前行?
- 24. Django管理 - 當我使用Django管理員刪除一些用戶無法刪除某些用戶
- 25. 提交Subclipse的所有快捷方式
- 26. 如何在C#中創建沒有管理員權限的快捷方式?
- 27. 獲得授權所有用戶的啓動快捷方式
- 28. C#創建管理員快捷
- 29. Wix爲所有用戶/每臺機器創建非廣告快捷方式
- 30. 是否可以使用C#搜索並刪除指向EXE的所有快捷方式?
你真的嘗試過嗎?我不明白爲什麼你只談論快捷鍵的特定用戶,並適用於所有用戶不NSIS的快捷方式無法做到這一點,只要。 – Anders
我該怎麼辦?卸載當前用戶的所有快捷方式後不會自動刪除。 –