Einzelnen Beitrag anzeigen

wellilein

Registriert seit: 15. Sep 2006
Ort: 78112 St. Georgen
7 Beiträge
 
#60

TurboMerger - Turbo Explorer "Studio" bauen - wie

  Alt 20. Sep 2006, 01:51
Hallo,

ich konnte es einfach nicht lassen... Nachmachen auf eigene Gefahr!

Nachdem irgendjemand meinte, mit dem Patchen von GUIDs (ProductCode, UpgradeCode) sei eine Installation möglich habe ich dies probiert. Hilfreich dabei ist das Tool Orca (Bestandteil des kostenlosen Microsoft Windows Installer SDKs, Orca muss nachträglich von Orca.msi installiert werden). In der Tabelle Property kann man die Nummern bequem austauschen. Zudem habe ich mit InstallWatch die Unterschiede in der Registry analysiert, um herauszufinden wo die Knackpunkte liegen.

Zunächst habe ich TurboDelphi installiert (GUID: xxxxxx0002-xxxx-xxxx-xxxx-xxxxxxxxxxx)
Dies installiert etwa 10000 Dateien und fügt 13000 Registry Einträge hinzu.
Die Installation von C# (GUID 0003) wird dann jedoch gleich verweigert, weil TurboDelphi bereits gefunden wurde.
Das Ändern von ProductCode und UpgradeCode allein nützt also nichts.

Das zusätzliche Umbenennen des Schlüssels HKLM\Software\Borland brachte jedoch den erwünschten Erfolg.
Tip: den Schlüssel exportieren und dann löschen. So kann später das Zeug wieder importiert werden.
C# belastet das System mit 700 Dateien und nochmal 2500 Registry Einträgen.

Also erneut: Schlüssel exportieren und löschen und Delphi.NET installieren (GUID 0001).
Es fängt an Spaß zu machen
3000 Dateien und 3200 Registry Einträge machen mein System langsam.

Der größte Brocken C++ zum Schluss nach dem gleichen System (GUID 0004).
Mit 7000 Dateien und 2700 Registries und mein Virtual PC stößt langsam an seine Grenzen.

Am Ende hat man nun 3 Borland REG Dateien und einen aktiven Borland REG Eintrag. Da sich der Inhalt nicht sonderlich unterscheidet, aber manche Programme andere Unterschlüssel mitbringen, einfach alles doppelklicken und eintragen.

So, jetzt muss das ganze nur noch in ein Programm umgesetzt werden. Da ich gar kein Delphi programmieren kann muss mir das jemand abnehmen.
Das Ändern der GUIDs lässt sich mit einigem Mehraufwand (verglichen zu Orca) auch nach der Installation noch in der Registry durchführen. Zum Exportieren würde ich direkt REGEDIT /E verwenden. Warum etwas neu schreiben, was es schon gibt?
Der Eintrag kann mit der REG Datei
Delphi-Quellcode:
Windows Registry Editor Version 5.00
[-HKLM\Software\Borland]
und REGEDIT /S entfernt werden. Das Eintragen aller erzeugten REG Dateien am Ende ebenfalls mit REGEDIT /S.

Hinweis: es sollte klar sein, dass beim nachträglichen Ändern der GUIDs in der Registry das Setup die installierten Komponenten natürlich nicht mehr erkennt, d.h. es lassen sich nachträglich keine Optionen mehr ändern. Also gleich 100% auf die Platte hauen - heutzutage muss man ja nicht mehr geizig sein.

Borland schreibt noch: ApplicationSettings.xml könnte zu "assembly version errors" führen. Keine Ahnung.

Jetzt noch ein und das kann losgehen.
Ich werde mich zuerst mal am Borland C# probieren.
Der InitializeComponent() Code ist genau gleich schlecht aufgebaut wie in den MS Produkten: keine Möglichkeit der Sprachänderung zur Laufzeit. Aber das wird jetzt OT...

Alle Programme ließen sich starten. C#, C++ und Delphi.NET Hello World haben wunderbar funktioniert.
Zur Sicherheit mal einen Systemwiederherstellungspunkt erzeugen.
Ein Neustart von Windows ergab keinen Absturz. Auch der mehrfache Start von Programmen führte bisher zu keinem Absturz.

MfG

Thomas
Thomas W.
  Mit Zitat antworten Zitat