AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Installer: MSI oder nicht

Ein Thema von mkinzler · begonnen am 8. Mär 2011 · letzter Beitrag vom 9. Mär 2011
Antwort Antwort
Seite 2 von 2     12   
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.380 Beiträge
 
Delphi 10.3 Rio
 
#11

AW: Delphi 32 bit 64 bit ab welcher Version ist Delphi 64bit fähig?

  Alt 9. Mär 2011, 09:40
Guten morgen,

Dann wäre nur die Frage ob du eine Pre-Releaseversion benutzt hast.
so habe mir die Zeit genommen die 3.5er runter zu laden. Es scheint, dass ich damals die Wix 2.0er hatte, da seit der V 3 das von mir verwendete tallow (um aus den Assemblies automatisch scripte zu erzeugen) in "heat" aufgegangen ist. Ob das damals eine Pre-Version war (war 2008 und dann habe ich das 2009 nochmal versucht) kann ich nicht mehr sagen.

Also habe ich das mal mit heat versucht und schau mal was der da ausspuckt:

!! BITTE DIESE KEYS NICHT INSTALLIEREN ODER IN DIE REGISTRY KOPIEREN !!

Code:
<RegistryValue Root="HKLM" Key="Software\Microsoft\Tracing\RASAPI32" Name="EnableFileTracing" Value="0" Type="integer" Action="write" />
<RegistryValue Root="HKLM" Key="Software\Microsoft\Tracing\RASAPI32" Name="EnableConsoleTracing" Value="0" Type="integer" Action="write" />
<RegistryValue Root="HKLM" Key="Software\Microsoft\Tracing\RASAPI32" Name="FileTracingMask" Value="-65536" Type="integer" Action="write" />
<RegistryValue Root="HKLM" Key="Software\Microsoft\Tracing\RASAPI32" Name="ConsoleTracingMask" Value="-65536" Type="integer" Action="write" />
<RegistryValue Root="HKLM" Key="Software\Microsoft\Tracing\RASAPI32" Name="MaxFileSize" Value="1048576" Type="integer" Action="write" />
<RegistryValue Root="HKLM" Key="Software\Microsoft\Tracing\RASAPI32" Name="FileDirectory" Value="C:\windows\tracing" Type="string" Action="write" />
<RegistryValue Root="HKLM" Key="Software\Microsoft\Tracing" Name="EnableConsoleTracing" Value="0" Type="integer" Action="write" />
<RegistryValue Root="HKLM" Key="System\CurrentControlSet\Control\MediaProperties\PrivateProperties\Joystick\Winmm" Name="wheel" Value="1" Type="integer" Action="write" />
<RegistryValue Root="HKLM" Key="System\CurrentControlSet\Services\WinSock2\Parameters\NameSpace_Catalog5\Catalog_Entries" Value="" Type="string" Action="write" />
<RegistryValue Root="HKLM" Key="System\CurrentControlSet\Services\WinSock2\Parameters\NameSpace_Catalog5" Name="Num_Catalog_Entries" Value="0" Type="integer" Action="write" />
<RegistryValue Root="HKLM" Key="System\CurrentControlSet\Services\WinSock2\Parameters\NameSpace_Catalog5" Name="Serial_Access_Num" Value="1" Type="integer" Action="write" />
<RegistryValue Root="HKLM" Key="System\CurrentControlSet\Services\WinSock2\Parameters\Protocol_Catalog9\Catalog_Entries" Value="" Type="string" Action="write" />
<RegistryValue Root="HKLM" Key="System\CurrentControlSet\Services\WinSock2\Parameters\Protocol_Catalog9" Name="Num_Catalog_Entries" Value="0" Type="integer" Action="write" />
<RegistryValue Root="HKLM" Key="System\CurrentControlSet\Services\WinSock2\Parameters\Protocol_Catalog9" Name="Next_Catalog_Entry_ID" Value="1001" Type="integer" Action="write" />
<RegistryValue Root="HKLM" Key="System\CurrentControlSet\Services\WinSock2\Parameters\Protocol_Catalog9" Name="Serial_Access_Num" Value="1" Type="integer" Action="write" />
<RegistryValue Root="HKLM" Key="System\CurrentControlSet\Services\WinSock2\Parameters" Name="WinSock_Registry_Version" Value="2.0" Type="string" Action="write" />
Die Assembly um die es hier geht ist ein winzig kleiner Bestandteil einer größeren Sammlung von Assemblies, die zusammen einen Rechenkern darstellen. die einzige kritische Komponente in den Assemblies ist der Zugriff auf eine Datenbank über MDAC - ansonsten keinerlei System- oder Netzwerkzugriffe die die Registry-Keys oben begründen.

Klar könnte ich hergehen und die ca. 10.000 Zeilen Script nach "HKLM" durchsuchen - aber ich weiß ehrlich gesagt immer noch nicht was WIX da eigentlich macht und ob noch wo anders weitere solche Hämmer versteckt sind. Sicherlich ist auch die Aufgabe jetzt nicht mehr soo alltäglich und ich weiß dass WIX<>MSI ist. Dennoch das Zeug stammt aus der selben Feder, das macht mich schon nachdenklich


Grüße

Geändert von Lemmy ( 9. Mär 2011 um 09:41 Uhr) Grund: Warnhinweis
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#12

AW: Installer: MSI oder nicht

  Alt 9. Mär 2011, 10:14
Auf die Patch-Erzeugung für MSI wurde hier noch nicht eingegangen. Das ist eine prima Sache. Man baut sich zwei Setups und vergleicht die mit einen Diff-Tool. Die Differenz wird dann in eine MSP abgelegt, welche natürlich nur noch die Änderungen enthält.

Die MSP lässt sich dann verteilen bzw. über das alte Setup installieren.
u.a. nutze Adobe MSPs um den Acrobat Reader aktuell zu halten.

Wie es genau geht, habe ich im Entwickler erklärt.
Ich glaube es war in Teil 3 oder 4.
  • Entwickler Magazin (Ausgabe: 03.09/15.04.2009) Artikel: MSI-Pakete mit Open-Souce-Software erzeugen Teil 4
  • Entwickler Magazin (Ausgabe: 02.09/12.02.2009) Artikel: MSI-Pakete mit Open-Souce-Software erzeugen Teil 3
  • Entwickler Magazin (Ausgabe: 01.09/10.12.2008) Artikel: MSI-Pakete mit Open-Souce-Software erzeugen Teil 2
  • Entwickler Magazin (Ausgabe: 06.08/15.10.2008) Artikel: MSI-Pakete mit Open-Souce-Software erzeugen

Assarbad steht du neuerdings auf meiner Gehaltsliste?
Schön das du den WI so unterstützt.
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#13

AW: Delphi 32 bit 64 bit ab welcher Version ist Delphi 64bit fähig?

  Alt 9. Mär 2011, 18:27
so habe mir die Zeit genommen die 3.5er runter zu laden. Es scheint, dass ich damals die Wix 2.0er hatte, da seit der V 3 das von mir verwendete tallow (um aus den Assemblies automatisch scripte zu erzeugen) in "heat" aufgegangen ist.
Alles klar. Mit tallow hatte ich damals auch Probleme. Jetzt weiß ich worauf du hinaus wolltest. Habe es dann immer händisch gemacht, was so schwer nicht ist, wenn man die .rgs ohnehin hat. Wobei natürlich mit steigender Anzahl der Klassen und anderer Infos auch der Aufwand unbotmäßig steigt, wenn man es nicht wenigstens ein wenig skriptet.

Klar könnte ich hergehen und die ca. 10.000 Zeilen Script nach "HKLM" durchsuchen - aber ich weiß ehrlich gesagt immer noch nicht was WIX da eigentlich macht und ob noch wo anders weitere solche Hämmer versteckt sind.
Kann ich nachvollziehen. Schade, daß du in dieser Hinsicht schlechte Erfahrungen gemacht hast.

Sicherlich ist auch die Aufgabe jetzt nicht mehr soo alltäglich und ich weiß dass WIX<>MSI ist. Dennoch das Zeug stammt aus der selben Feder, das macht mich schon nachdenklich
Meines Wissens nach wurde WiX von einem aus dem MSO-Team initiiert. Aus der gleichen Feder stimmt also so nicht, auch wenn es beides unter der Ägide von MS produziert wird.

Auf die Patch-Erzeugung für MSI wurde hier noch nicht eingegangen. Das ist eine prima Sache. Man baut sich zwei Setups und vergleicht die mit einen Diff-Tool. Die Differenz wird dann in eine MSP abgelegt, welche natürlich nur noch die Änderungen enthält.
Jupp, man kann das sogar noch feintunen in den PCPs. Mit WiX braucht man nichtmal mehr die MSIs, denn die Differenz kann auch mit .wixpdb ermittelt werden - geht schneller und ist präziser.

Assarbad steht du neuerdings auf meiner Gehaltsliste?
Muß ich mal auf dem Konto und im Briefkasten nachgucken.

Schön das du den WI so unterstützt.
Ich habe einfach das Gefühl, daß bei MSI vielfach das Problem ist, daß die Entwickler nicht aus der Denke rauskommen, man müsse etwas skriptartiges haben um ein Setup zu bauen. Wenn man das dann krampfhaft auf MSIs überträgt kommt meistens Mist raus (und es gibt auch viele MSIs die "badly authored" sind).

Prinzipiell stimme ich sogar mit Stimmen wie diesen hier überein:

Ich möchte die Vorteile von MSI keinesfalls schlecht reden. Aber ich finde, man sollte doch immer den Kontext beachten, wo die zu installierende Software eingesetzt wird. Nur um eine Exe mit ein paar Daten zu installieren, brauch ich den ganzen Schotter nicht, da reicht InnoSetup, aber nur weil ich es dem Anwender einfacher machen möchte. Eigentlich würde schon eine ZIP reichen, aber... Alles andere wäre mit Kanonen auf Spatzen usw.
Es kommt in der Tat auf den Kontext des Einsatzes an und auch die traditionellen .exe-basierten Setupsysteme haben sich im Hinblick auf Rollouts im großen Stil bewegt. Aber genau wie ich bspw. .deb irgendwelchen skriptbasierten Setups als überlegen ansehe, ist's auf Windows .msi gegenüber .exe-basierten.

Wenn es denn eine bewußte Entscheidung auf Basis von Fakten ist, geht keinem etwas verloren. Wenn die Entscheidung aber auf Vorurteilen basiert, dann ist's Mist. Ich meide ja auch nicht generell Delphi-Programme, weil irgendwelche Spezis Malware mit Delphi erzeugen, oder?
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz