2009-04-29 137 views
3

微軟正在推廣.Net已有8年多了。軟件版本控制:Windows安裝程序和.Net版本的區別

.Net程序集版本使用4#版本,如major.minor [.build [.revision]]。參考here

雖然,Windows安裝程序仍建議3#版本,如major.minor.build。參考here

隨着兩個系統版本的差異。將.Net程序集版本映射到安裝程序並不是直接的。使用Windows安裝程序安裝.Net應用程序相當複雜,特別是當有人想要實施升級產品以進行版本更改時。

如何克服這種情況?即使修訂版本中的變化最小,我們也想升級我們的產品。

+0

爲了公平起見,Windows Installer已經存在了10多年了。但是,無論如何,我認爲他們決定只支持3部分典型的4部分版本煩人。 – 2009-05-07 04:53:45

回答

2

爲什麼你會直接映射.NET程序集版本,爲您的產品版本?你的產品真的只有一個組件嗎?我見過

大多數產品配置管理流程通常跟蹤與艙單版本的產品(材料又名票據)上市在產品版本中有哪些二進制文件,配置文件和文檔的版本。這將您的開發過程從您的發佈過程中分離出來,這是一件好事,尤其對於商業產品。

+0

我們確實有多個程序集,但我們希望我們的客戶能夠升級到最新版本,以便在我們的代碼庫中進行最細微的更改。因此,我們將SVN修訂版編號作爲程序集版本的最後一部分。 一些我們想要保持產品編號與我們組件版本相同的方式。做錯了嗎? – NileshChauhan 2009-05-11 10:50:27

1

通過.NET和Windows安裝地址不同的關注點使用的版本。在.NET中,加載程序使用程序集版本來確定要加載哪個版本的程序集。請記住,您可以將相同程序集的多個版本部署到GAC,並將它們並排使用。您甚至可以制定指定要加載的程序集的確切版本的策略。我可以在GAC中擁有不同版本的程序集A,應用程序1使用版本1,應用程序2使用版本2.雖然我對Windows安裝程序的瞭解不多,但我認爲它使用的是版本和產品GUID跟蹤安裝的應用程序的版本,以確定您安裝的應用程序是否比已安裝的應用程序更新,並警告用戶或先卸載它或讓用戶選擇。

4

這是無法克服的。這是一個接受和設計的設計限制。惱人的是,但不是在可預見的將來可能會改變的東西。 Windows Installer ProductVersions基於3部分。另外,請記住前兩部分不能超過255,但第三部分可以達到65,535。