2013-03-27 223 views
2

對於我們的msi,我們沒有提及現有版本中的所有用戶屬性。所以默認情況下它按用戶進行。如何從每個用戶更改爲所有用戶安裝?

我們的客戶使用管理員用戶標識安裝了該應用程序,該管理員離開了該公司。所以他的用戶名不再處於有效狀態。

現在他們無法使用其他管理員帳戶遷移到較新版本(因爲它是按用戶安裝的)。

儘管我們可以更改我們的msi以支持所有用戶,但它不適用於遷移(主要升級)。

看來只有當我們給出全新的發佈版本時,如果沒有支持現有版本,我們可以解決這個問題。

是否有任何其他解決方法提及即使以前的微星是每個用戶,它應該現在主要升級?

我們在安裝過程中使用WIX 3.5。

回答

3

不幸的是,Windows安裝程序不支持「跨上下文」升級。正如您發現每臺計算機軟件包無法升級每個用戶軟件包,而每個用戶軟件包無法升級每臺計算機軟件包。

您可以編寫一個可執行文件,查找舊的.msi文件並使用類似::MsiEnumRelatedProducts()的API來卸載它們,然後找到產品,然後使用::MsiConfigureProduct()刪除它們。但是,如果沒有用戶帳戶,我不確定您能夠看到每個用戶安裝的產品。

+0

Installshield具有一項功能,可以稍微調整以允許切換到每臺計算機的安裝。它涉及ISSetAllUsers自定義操作:http://stackoverflow.com/questions/12110987/windows-installer-uninstalling-previous-version-when-the-versions-differ-in-in/12291807#12291807 – 2014-03-25 02:12:30

相關問題