4 Stimmen

Software-Versionierung: Unterschied zwischen Windows Installer und .Net Version

Microsoft fördert .Net nun schon seit über 8 Jahren.

.Net-Assemblies werden mit der 4#-Versionierung versioniert wie major.minor[.build[.revision]] . Ref aquí

Während Windows Installer immer noch eine 3# Versionierung vorschlägt wie major.minor.build . Ref aquí

Mit dem Unterschied in der Versionierung in zwei Systemen. Es ist nicht einfach, die Version von .Net-Assemblies auf ein Installationsprogramm abzubilden. Es ist ziemlich kompliziert, den Windows Installer für die Installation von .Net-Anwendungen zu verwenden, insbesondere wenn jemand ein Produkt-Upgrade für eine Revisionsänderung durchführen möchte.

Wie kann diese Situation überwunden werden? Wir wollen unser Produkt auch bei kleinsten Änderungen in der Revision verbessern.

4voto

Rob Mensching Punkte 31828

Das ist nichts, was man überwinden kann. Es ist eine konstruktionsbedingte Einschränkung, die es zu akzeptieren und zu umgehen gilt. Ärgerlich ja, aber nichts, was sich in absehbarer Zeit ändern wird. Windows Installer ProductVersions basieren auf 3 Teilen. Denken Sie auch daran, dass die ersten beiden Teile nicht mehr als 255 sein können, aber der 3. Teil kann bis zu 65.535 betragen.

2voto

Pontus Gagge Punkte 16933

Warum sollten Sie .NET-Assembly-Versionen direkt auf Ihre Produktversion abbilden? Haben Sie wirklich nur eine Assembly in Ihrem Produkt?

Die meisten Produktkonfigurationsmanagement-Prozesse, die ich kenne, verfolgen die Produktversionen mit Manifesten (auch bekannt als Stücklisten), die auflisten, welche Versionen von Binärdateien, Konfigurationsdateien und Dokumentation in diese Produktversion gehören. Dies entkoppelt Ihren Entwicklungsprozess von Ihrem Freigabeprozess, was nicht zuletzt bei kommerziellen Produkten eine gute Sache ist.

1voto

Mehmet Aras Punkte 5166

Die Versionen, die von .NET und dem Windows-Installationsprogramm verwendet werden, betreffen unterschiedliche Probleme. In .NET wird die Assembly-Version vom Lader verwendet, um zu bestimmen, welche Version der Assembly geladen werden soll. Denken Sie daran, dass Sie mehrere Versionen derselben Assembly im GAC bereitstellen können und sie nebeneinander verfügbar sind. Sie können sogar Richtlinien haben, die die genaue Version einer zu ladenden Assembly angeben. Ich kann verschiedene Versionen der Assembly A im GAC haben, wobei Anwendung 1 die Version 1 und Anwendung 2 die Version 2 verwendet. Ich weiß zwar nicht viel über das Windows-Installationsprogramm, aber ich denke, dass es die Version und die Produkt-ID verwendet, um zu verfolgen, welche Version einer Anwendung installiert ist, so dass es feststellen kann, ob die Anwendung, die Sie installieren, neuer ist als die bereits installierte und den Benutzer warnen oder zuerst deinstallieren oder den Benutzer wählen lassen kann.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X