Firmen-Name in AssemblyInfo ändern

Es nervt einfach nur: In jeder AssemblyInfo steht immer wieder Microsoft als Urheber drin. Nach langem Söbern habe ich die Lösung endlich gefunden.

Das Problem habe ich seit Jahren aber genau so lange hatte ich keine Lust, einmal genauer nach den Ursachen zu suchen. Soviel ist erstmal klar: Das Visual Studio erstellt beim neuen Anlegen eines Projektes ggf. eine AssemblyInfo.cs-Datei. Wie Visual Studio das machen soll, steht in der Vorlage unter

C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplates\CSharp\General\1031\AssemblyInfo.zip

In der ZIP-Datei findet man eine AssemblyInfo.cs-Datei, die standardmäßig folgenden Inhalt hat (deutsches VS):

using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;

// Allgemeine Informationen über eine Assembly werden über die folgenden
// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
// die mit einer Assembly verknüpft sind.
[assembly: AssemblyTitle("$rootnamespace$")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("$registeredorganization$")]
[assembly: AssemblyProduct("$rootnamespace$")]
[assembly: AssemblyCopyright("Copyright © $registeredorganization$ $year$")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

// Durch Festlegen von ComVisible auf "false" werden die Typen in dieser Assembly unsichtbar
// für COM-Komponenten. Wenn Sie auf einen Typ in dieser Assembly von
// COM zugreifen müssen, legen Sie das ComVisible-Attribut für diesen Typ auf "true" fest.
[assembly: ComVisible(false)]

// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
[assembly: Guid("$guid1$")]

// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
//
//      Hauptversion
//      Nebenversion
//      Buildnummer
//      Revision
//
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

Wer sich also schon immer gefragt hat, wie er die lästigen Kommentare in der Vorlage los werden kann, der hat hier die Antwort gefunden. Ändert man den Inhalt der Vorlage an dieser Stelle, wird beim nächsten Anlegen eines neuen Projektes der Kommentar-Kram weg gelassen.

Wären wir keine objektorientierten Entwickler mit ein wenig Weitblick ausgestattet, würden wir nun den Wert $registeredorganization$ einfach durch unseren Wunsch-Firmen-Namen ersetzen. Das funktioniert auch, ist aber nicht sonderlich clever, weil undynamisch. Durch irgend etwas ersetzt ja Visual Studio nun den Inhalt der Variablen $registeredorganization$. Nur, wo steht der „echte“ spätere Wert?

Erste Tipps führten mich sofort in die Registry. Zunächst einmal kann man bei jedem Windows-System folgende 2 Einträge für Benutzer und Firma setzen:

HKLM\Software\Microsoft\Windows\CurrentVersion\RegisteredOwner
HKLM\Software\Microsoft\Windows\CurrentVersion\RegisteredOrganization

Sind die beiden Zeichenfolge-Werte nicht in dem Registry-Ordner, legt man sie einfach neu an. Wer jetzt gehofft hat, das VS nun diese Werte nimmt, wird wohl enttäuscht sein. Das hängt damit zusammen, dass viele bereits Windows 7 oder Vista einsetzen und das auch noch in einer 64-bit-Version. Leider hat MS aus irgendwelchen Gründen entschieden, dass das VS selbst eine 32-bit-Anwendung bleibt und daher müssen wir die Einträge an einer anderen Stelle setzen:

HKLM\Software\Wow6432Node\Microsoft\WindowsNT\CurrentVersion\RegisteredOwner
HKLM\Software\Wow6432Node\Microsoft\WindowsNT\CurrentVersion\RegisteredOrganization

Dort sollten beide Werte auch bereits vorhanden sein und brauchen nur geändert werden. Beim nächsten Anlegen eines neuen Projektes sollte dann der in RegisteredOranization eingetragene Wert hinter dem copyright-Zeichen erscheinen.

Bei all diesen Änderungen kann es durchaus notwendig werden, einen Windows-Neustart anzustoßen, bevor sie aktiv werden!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.