2017-06-29 90 views
0

我已經在WiX 3.11中創建了一個MBA安裝程序。在我的設置界面中,我需要訪問註冊表並在UI中顯示該註冊表值。如果我以管理員模式運行安裝程序(右鍵單擊 - >「以管理員身份運行」),安裝程序將讀取註冊表項。但如果它不處於管理模式,則會顯示錯誤。 WiX Burn中是否有任何選項可用於在設置雙擊時在UAC中啓動設置?在管理權限中啓動託管引導程序應用程序EXE

謝謝

+1

你如何閱讀註冊表?如果是通過代碼,打開密鑰時可以請求更少的權限嗎?通常這不應該需要管理權限。 –

+0

使用C#代碼讀取註冊表值。 – user3309953

+0

然後我會建議確認C#註冊表代碼在沒有提升時工作。 (也許在一個獨立的應用程序中進行調試。)使引導程序始終提升應該是最後的手段。 –

回答

0

不幸的是,沒有一種內置的方式來提高MBA的運行。這是WiX維護人員說他們不想做的事情。一般來說,你可以在沒有它的情況下進行大部分工作(除了查詢IIS設置),並讓MSI在安裝時提升自己(如果需要的話)。

但是,有些時候您確實需要MBA本身來提升。既然你不能提升一個已經運行的過程中,你通常有兩種選擇:

  • 修改MBA的嵌入式清單文件,以迫使它提高立即
  • 已經MBA的過程自旋向上運行的另一個後臺進程提升並且有兩個過程來回傳遞。

我已經使用ResourceTuner Console這樣的工具來修改清單文件,但是需要警告的是,有時這會導致MBA無法找到它的嵌入式MSI。如果您還在使用您的安裝程序使用代碼簽名,它也會產生重大的痛點,因爲修改MBA將使您的簽名無效。

相關問題