2012-04-20 69 views
0

我就已經使用2個VD項目分發設施的管理和用戶版本的一個項目工作,現在我需要切換到維克斯。這是一個有點痛苦的經歷,缺乏文檔和所有的東西,但我設法做到了。維克斯 - 升降(或減少)權限在安裝時

然而,仍然有一個問題:我想打只有一個的.msi這將允許用戶選擇他是否要安裝作爲管理員或用戶。如果他選擇了用戶,我不想問他升高(因爲他不需要它),如果他選擇管理員,我不希望安裝崩潰,而是要求特權。

我目前的解決方案中出現死機管理模式如果我設置InstallPrivilegeslimited,因爲用戶沒有安裝許可,並在用戶模式下提示擡高,如果我將它設置爲elevated

我的意見是,有沒有辦法解決這個問題,因爲與MSI的兼容性,但也許有一些方法來改變特權從升級到有限的安裝時間,我失蹤。

最後,我想知道這些事情:

  • 是否有可能在更改權限安裝時
  • 如果沒有辦法這樣做的,什麼是這個問題的最佳解決方法(出口2個的.msi文件或東西)

回答

1

一種解決方案是建立兩個單獨的安裝,然後通過自定義WiX的引導程序啓動它們(又名燒傷)。引導程序將負責顯示UI並啓動相應的.msi。

或者你也可以分開「管理」功能集成到一個單獨的.msi,然後使用自定義的引導程序,如果用戶選擇安裝管理員安裝這兩個.msis。

+0

感謝您的回答! 你可能碰巧知道是否有一種方法可以在原始版本運行後重新運行Votive命令行(編譯和鏈接),只需要更改'Product.wxs'文件? – 2012-04-21 16:37:46

+0

不確定。我會做的是爲您的項目/解決方案創建兩個不同的配置。在項目屬性>構建中,只爲其中一個配置定義一個預處理器變量。然後Product.wxs可以根據預處理器變量的設置來包含/排除項目。 – BryanJ 2012-04-23 12:52:53