2014-03-31 62 views
1

這與此處詢問的問題類似:How do I fix the upgrade logic of a wix setup after changing InstallScope to "perMachine"perUser安裝程序如何處理perMachine舊版本的程序?

只在我們的情況下,舊版本是「perMachine」,新版本是「perUser」。

我明白你爲什麼不希望perUser安裝混淆可能在幾個用戶之間共享的程序。但我們需要沿着這條道路走下去。

目前,我們正在通過在註冊表中進行挖掘來檢測舊版程序的版本,並拒絕安裝,除非它們先卸載舊版本。這不是真正的用戶友好。

有沒有更好的技術?

+0

用戶可以有自己的設置即使你安裝每臺機器。他們是什麼設置?此外,您不需要在註冊表中挖掘以確定安裝的內容,可以使用升級表並實施重大升級。切勿觸摸MSI註冊數據庫 - 它很脆弱和複雜。 –

回答

0

它不能。主要升級無法切換上下文,即使您在安裝之前編寫了setup.exe引導程序進行清理,也必須針對安裝產品的每個用戶配置文件運行。

+0

檢查上面的鏈接 - 我曾用它清理過一次特殊情況,但至少可以說是一個奇怪的解決方案。我也想知道這是如何影響MSI數據庫的 - 它似乎是在每臺計算機上重新註冊產品並取消每個用戶的註冊註冊,但這是否對所有用戶都這樣做?我不記得。我認爲我們使用這個功能作爲主要用戶使用的一次性修復系統。 –

+0

如果用戶A安裝了每個用戶並且用戶B正在嘗試執行每臺計算機安裝,則它不可能工作。 –

+0

我在想它可以 - 它會使組件的參考計數加倍,並且讓某些用戶對每個用戶註冊產品?打敗我如何看待升級方案。在我的世界裏,每個用戶的安裝都是不可能的。只是麻煩。 –

0

我永遠不會更改爲每個用戶的設置,我寧願從每個用戶到每臺機器出於許多原因。爲什麼你需要每個用戶?

您可能會看看我寫過的關於如何使用Installshield從每位用戶遷移到每臺計算機的說明。走另一條路應該是可能的 - 但是在我看來,不建議:https://stackoverflow.com/a/12291807/129130


UPDATE: ,因爲這是下投票,這裏有一些更多的鏈接來解釋一些與每個問題用戶設置。他們是真正的,我只是想提醒人們他們是什麼問題,最有可能將要面對的(幾乎肯定會面臨):

+0

要求是每個用戶,因此每個用戶都有自己的設置。你還沒有發佈答案。您已發佈評論。 –

+0

我事實上已經回答了您的幾個問題,而且您還沒有回答我的任何後續問題:-),並且該鏈接確實是您的問題的答案 - 對於Installshield,並且可以使用相同的概念在威克斯。你使用哪種工具? –

+0

即使您安裝每臺機器,用戶也可以擁有自己的設置。在我看來,每用戶安裝是MSI中最糟糕的概念之一 - 它只是改變了一些目錄路徑並隱藏了其他用戶的產品。 –

相關問題