2010-03-22 28 views
1

使用Inno Setup的我公司目前已在[圖標]部分下面的項:如何創建使用INNO設置請求提升的CMD.EXE快捷方式?

Name: "{group}\My App\My App - Command Prompt"; Filename: "cmd.exe"; WorkingDir: "{app}" 

此快捷方式啓動一個命令提示直接進入我的應用程序的文件夾中。不幸的是,它不是作爲提升啓動的,這意味着用戶從那裏運行的命令沒有適當的權限。

使用INNO安裝程序時,如何創建需要提升的CMD.exe(在特定文件夾中)的快捷方式?

爲其他應用程序執行此操作可以通過清單文件完成。我的問題是,我如何使用INNO,如果我不能,我的替代品是什麼?

+0

您的意思是管理權嗎?您可以使用COM對象(CreateComObject(CLSID_ShellLink))進行設置。 – Sasha 2010-03-22 20:52:53

回答

2

快捷方式的管理屬性是一個兼容性設置,您不應該以編程方式設置它。用戶運行的命令應該通過擁有適當的清單來自己要求管理權限。用戶也可以選擇通過右鍵單擊快捷方式並選擇「以管理員身份運行」來提升自己。

如果您總是想立即提升,您可以在標有管理清單的應用程序文件夾中放置一個小工具。所有這個工具都會產生cmd.exe。這樣可以避免搞亂兼容性設置。

如果您仍想使用兼容性設置,請查看HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers和HKCU \ Software \ Microsoft \ Windows NT \ CurrentVersion \ AppCompatFlags \ Layers註冊表項。您還可以使用Inno Setup內置的IUnknown支持,但這是更多的工作。請參閱CodeAutomation2.iss示例腳本和http://social.msdn.microsoft.com/Forums/en-US/windowssecurity/thread/a55aa70e-ae4d-4bf6-b179-2e3df3668989

相關問題