2010-11-26 28 views
5

據我研究並詢問其他人,似乎常規MSI在大多數時間以有限的用戶身份運行,特別是在GUI階段。你可以強迫微星始終是管理員嗎?

但是,無論如何,在安裝階段,應用程序需要提示提示,並且我希望在GUI選擇階段執行的自定義操作期間擁有管理權限。在開始時真的沒有辦法強制UAC提示嗎?

此外,還需要在Active Directory安裝過程中執行一些自定義操作,而且如果MSI以guest或其他方式運行也無法完成。

回答

2

您可以從bootstrapper啓動您的MSI,其中包含嵌入的相應清單。

1

在GUI階段,它始終運行在非提升的用戶環境中。在延遲執行模式下,只有InstallExecuteSequence中的自定義操作被提升。

爲了解決這個問題要麼你應該重新設計你的MSI或使用引導程序(SETUP.EXE)的請求,海拔在啓動

http://msdn.microsoft.com/en-us/magazine/cc163486.aspx#S7

+0

這是微軟超級蹩腳的設計。如果不是用戶點擊setup.msi或活動目錄無人蔘與安裝,我會說setup.exe是好的。 – Coder 2010-11-28 00:57:23

+0

您可以從setup.exe向您的MSI(例如RUNFROMSETUP)傳遞參數(公共屬性),並提醒用戶(使用LaunchCondition)該屬性是否通過。當通過AD無人值守安裝進行安裝時,您可以在命令行中傳遞參數(MSI將始終通過SMS運行提升,我相信)。這樣,用戶在直接運行MSI時會得到一條消息,並且它也可以在無人值守的情況下執行。 – 2010-12-01 19:50:45

3

即使運行提升的安裝程序,自定義操作在Vista,Server 2008和Windows 7上仍可能失敗。這是因爲他們通過模仿提升過程的用戶來運行。

需要完整權限並且不使用每個用戶信息的自定義操作應該標記爲無需模擬即可運行。這樣他們在本地系統帳戶下運行,沒有任何限制。

相關問題