2013-07-07 80 views
1

我們的數字簽名MSI設置爲僅在每個用戶的基礎上安裝。這是有效的,並沒有按預期提供UAC提示。按預期將文件安裝到AppData。問題是卸載或升級MSI需要通過UAC提示管理員取消/傳遞。什麼特定的配置可能會導致這種情況,或者我可以看到什麼來調試呢?MSI卸載UAC提示

  • 微星與Visual Studio的安裝項目創建
  • 目標操作系統是XP還是7,7是理想的目標
+1

你是如何編寫安裝程序的? –

+0

通過VS 2010中的安裝項目類型 –

回答

0

哪些操作系統?你如何設法讓每個用戶安裝它,特別是你如何在安裝和卸載時獲得ALLUSERS屬性爲空?您確定沒有自定義操作(例如從installshield)設置ALLUSERS。也許搜索msi表以確保此屬性無處設置。

我只是試圖安裝和卸載這樣一個簡單的測試MSI,它沒有UAC在Win7(64,SP1)下工作正常。 因此,我可以至少證明它是可能的:

安裝:
MSIEXEC/I testmsi.msi/QB ALLUSERS = 「」

卸載:
MSIEXEC/X testmsi.msi/QB ALLUSERS = 「」

(工作一樣,如果沒有設定ALLUSERS在所有微星沒有這種命令行PARAM,以同樣的與產品代碼爲卸載。)

所以主要的前提條件得到滿足:
- 我的安裝路徑設置爲一個適當的應用程序數據路徑
- 在HKLM而不是其他資源
沒有創建註冊表項 - ALLUSERS爲空或沒有定義
- 在摘要信息的UAC標誌未設置
- 沒有需要提高權利的自定義操作

我還沒有嘗試過簽署MSI,但我不認爲這有什麼區別。

這意味着如果您沒有看到日誌文件或msi本身的適當行,這似乎不會更好地回答。