2014-11-06 38 views
1

我們正在開發一個項目,我們將使用Inno Setup創建一個安裝可執行文件。軟件GUID應該與程序集GUID不同嗎?

現在,我們必須爲主要組件(由VS2013創建)和軟件(用於識別安裝的軟件的afaik)指定GUID。這兩個GUID應該不同還是應該相同?起初,我認爲我們應該兩次使用相同的GUID,因爲它們指的是同一個產品,但是,有人可能會認爲這是兩個不同的實例,軟件和程序集。

這些GUID的選擇有什麼後果?哪種方法更可取?如果我們使用相同的GUID兩次,會不會有衝突?

編輯:我指的是InnoSetup AppId屬性,默認情況下它被設置爲生成的GUID。這是GUID窗口將用於識別軟件?

+1

AppId是InnoSetup plumbing,更新現有應用程序的安裝程序應使用相同的AppId。根本沒有理由使它與組裝指南相匹配。沒有任何理由不讓它們相同。它不一定是一個guid,任何字符串都可以。 – 2014-11-06 13:55:20

回答

1

AppId指令用於唯一標識系統內的Inno Setup安裝。沒有更多或更少。如果您釋放具有相同AppId指令值的另一個安裝程序,它將被認爲是在舊系統安裝的系統上升級到上一個安裝程序(例如,由新版本執行的操作將追加到現有的卸載日誌文件中)。

經驗法則是,如果您要發佈的新安裝程序是舊版本的升級版本,請使用與舊版本相同的AppId。否則改變它。

此外,AppId值不一定是GUID,但由於其唯一性,因此使用GUID是一種常見操作。

+0

感謝您的幫助!但是,這不會回答AppId是否應該與程序集GUID不同。 – 2014-11-06 13:57:29

+0

它確實:* AppId指令用於唯一標識系統內的Inno Setup安裝。沒有更多或更少。*。這意味着它與你的組件無關。 – TLama 2014-11-06 13:58:22

+0

好的,你是對的,非常感謝你! – 2014-11-06 13:59:01