2010-03-02 26 views
4

如何在使用基於WiX的MSI完成安裝後啓動具有管理員權限的應用程序?如何在WiX MSI完成後以管理員身份啓動應用程序?

我可以在Windows上啓動該應用程序就好了  XP,但對於Windows 7,這是一個問題。

應用程序中嵌入了一個清單,表明它應該以管理員身份運行,並且我已將Custom Action中的impersonate屬性更改爲「no」。我無法將執行屬性更改爲延遲,因爲這僅在InstallFinalize操作之前有效,並且在用戶單擊MSI中的完成後我需要它。

這是我的自定義操作:

<CustomAction Id="LaunchApp" FileKey="App" ExeCommand="[Command Line Args]" Execute="immediate" Impersonate="no" Return="asyncNoWait" /> 
+0

這實際上是[執行安裝後需要提升的自定義操作]的副本(http://stackoverflow.com/questions/2325459/executing-a-custom-action-that-requires-elevation-after-install )所以看看WixShellExec。 – 2010-03-03 14:15:05

回答

2

因爲我需要在命令行參數來傳遞,如果某些條件是真的我不能使用WixShellExec。所以我創建了一個自定義動作,通過cmd提示符啓動exe。 Hacky,但是一個可行的解決方法,並且工作順利。

+0

呵呵,我沒有用過它,所以沒有意識到WixShellExec沒有處理參數。多奇怪!那麼你總是可以創建你自己的調用ShellExecute的C++ DLL自定義動作... – 2010-03-04 14:31:34

相關問題