Autor Beitrag
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 19.04.05 09:54 
Der Grund, weshalb es bei dem Desktop-Link nicht funktioniert, ist übrigens (wie ich schon in meinem letzten Post vermutete...), dass das Arbeitsverzeichnis nicht angegeben ist...

InstallShield erstellt zwar die Verknüpfung; als Arbeitsverzeichnis (also bei Öffnen in) steht aber gar nix drin.

Deshalb: Wie schon angesprochen, wäre InnoSetup besser geeignet. Damit ist dein Setup nicht mal ein MB groß (hab ich probiert...). Und wegen der Einfachheit: InstallShield einfacher??? Da kennst du InnoSetup nicht...
Mit dem Assistenten hast du 1..2..3 in 5 Minuten ein Setup inklusive Desktop-Verknüpfung, etc.
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 19.04.05 10:04 
Ich schreibe nie jemandem vor, welches Installationsprogramm er nutzen sollte. Ich würde auch nicht behaupten, dass ein Programm besser als das andere ist. Aber wenn wir uns schon auf dieses Niveau begeben wollen: Gegen den Feature-Nachinstallations- und Reparaturmodus usw. des MSI stinkt Inno Setup gewaltig ab. ;)

Aber am Arbeitsverzeichnis liegt es definitiv nicht, weil sich
ausblenden Delphi-Quelltext
1:
ExtractFilePath(paramstr(0))					

auf das Verzeichnis der Exe bezieht und daher nichts mit dem jeweils aktuell eingestellten Arbeitsverzeichnis zu tun hat. Außerdem war der Fehler wohl der, dass der Beitragsersteller seine zu ladenen Bilder in einem Unterordner hatte, aber vergaß, eben diesen Unterordner noch an das o.g. "ExtractFilePath" zu hängen. Kein Wunder, dass die Bilder nicht gefunden wurden. :lol:

Das von dir geschilderte Problem tritt nur bei den Leuten auf, die vergessen, dass das Arbeitsverzeichnis nicht unbedingt der Ordner der Exe sein muss, und dass sich das Arbeitsverzeichnis schon durch die Benutzung des Open-Dialogs ändern kann. :)
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Di 19.04.05 10:17 
user profile iconMathiasSimmack hat folgendes geschrieben:
Gegen den Feature-Nachinstallations- und Reparaturmodus usw. des MSI stinkt Inno Setup gewaltig ab

Meinst du wirklich, dass man diese Features hier braucht???

Und InnoSetup macht hier ein 5mal kleineres Setup und startet das Setup innerhalb einer Sekunde, naja, also das ist mir doch deutlich sympathischer, vor allem, weil das überall ohne MSI zu aktualisieren läuft.

Ok, Ok, das ist hier nicht das Thema, deshalb halte ich jetzt mal den Mund, ähh ich meine die Finger...

user profile iconMathiasSimmack hat folgendes geschrieben:
Aber am Arbeitsverzeichnis liegt es definitiv nicht

Du hast ja recht... :oops: :wink:
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 19.04.05 11:05 
user profile iconjaenicke hat folgendes geschrieben:
user profile iconMathiasSimmack hat folgendes geschrieben:
Gegen den Feature-Nachinstallations- und Reparaturmodus usw. des MSI stinkt Inno Setup gewaltig ab

Meinst du wirklich, dass man diese Features hier braucht???

In diesem speziellen Fall wahrscheinlich nicht, zugegeben. Wobei man den Reparaturmodus nachbilden kann, indem man das Inno Setup-Setup mit in den Zielordner kopieren lässt. Aber ansonsten:
  • Patches; kannst du mit dem MSI von Haus aus erstellen. Eine installierte Version reicht, und im Idealfall überreichst du dem Anwender dann ein nur wenige KB großes Patchpaket, mit dem er die installierte Version aktualisiert.
  • Merge-Module; so was wie Delphi-Units, du lagerst häufig benutzten Code aus und kannst ihn dann in allen Setups verwenden. Macht sich gut, wenn du Assemblies für deine Anwendungen schreibst und häufiger brauchst.
  • "Installation bei Bedarf"; tatsächlich kopiert wird überhaupt nichts, es werden nur Verknüpfungen usw. angelegt, und erst wenn man so eine Verknüpfung benutzt, installiert das System die benötigten Dateien nach.
  • Dateischutz; habe ich selbst nie ausprobiert, aber Hintergedanke ist der, dass eine versehentlich oder absichtlich gelöschte Datei automatisch wiederhergestellt wird, wenn der Installer bzw. das System merkt, dass sie fehlt. Ich gebe zu, hier macht sich die Verdrahtung zwischen Installer und OS bezahlt.

Zitat:
Und InnoSetup macht hier ein 5mal kleineres Setup und startet das Setup innerhalb einer Sekunde, naja, also das ist mir doch deutlich sympathischer, vor allem, weil das überall ohne MSI zu aktualisieren läuft.

Ich kontere mal mit NSIS. :lol: Wenn ich mir überlege, dass das Setup für eins meiner nonVCL-Programme mit Inno Setup ~200/300k groß ist (mit NSIS dagegen ~100k, wenn überhaupt), dann ist auch Inno nicht gerade klein. ;) Außerdem ist die Größe eines MSI-Setups relativ.
  • Eine normale MSI-Datei, ohne Benutzeroberfläche, bewegt sich im Bereich von unter 100k, eignet sich aber meist nur für Systeminstallationen, wo eine Oberfläche nicht erforderlich ist, weil die Komponenten in bestimmte Ordner müssen.
  • Wenn man in InstallShield dafür sorgt, dass die MSI-Runtimes nicht eingebunden werden, verringert sich die Größe des Setups ebenfalls. Ich stimme dir zu: Ich persönlich habe den MSI 3.1 installiert und möchte daher ungern eine alte Version (und dann noch Ansi und Unicode) mit einem Setup herunterladen müssen.
  • In 99% aller Fälle reicht ein Eingriff in die MSI-Datei, um die Benutzeroberfläche komplett auszutauschen. Ich habe auf meiner Platte fertige Templates für SharpDevelop mit vier verschiedenen Benutzeroberflächen.
    Man kann die Benutzeroberfläche aber auch in eine Setup.exe auslagern und den Installer per API ansteuern. Das würde die Größen ebenfalls reduzieren, allerdings ist es auch aufwändiger.
  • Man muss ja als erwartete Versionsnummer nicht gerade den aktuellsten MSI eintragen. In den meisten Fällen reicht nach wie vor die Angabe 200 (für v2.0), womit sich die Setups auf heutigen Windows-Versionen ohne Update des MSI installieren lassen sollten.