Entwickler-Ecke

Programmierwerkzeuge - InnoSetup will nicht compilieren


discipuli - So 27.12.20 19:29
Titel: InnoSetup will nicht compilieren
Nach langer zeit wollte ich mal wieder kompilieren.
Es kam die Fehlermeldung: "Verzeichnisse Pfade nicht gefunden".
Darf ich diese Dinge einfach ändern?
Discipuli


Moderiert von user profile iconNarses: Topic aus Sonstiges (Delphi) verschoben am So 27.12.2020 um 19:09
Moderiert von user profile iconTh69: Titel geändert (war "innosetup ...").


Th69 - Mo 28.12.20 09:34

Mußt du wohl...


discipuli - Mo 28.12.20 11:17

Jetzt habe ich doch noch das Plugin gefunden. idpsetup-1.5.1.exe
Das habe ich installiert, die Meldung bleibt aber die selbe.
Discipuli


Th69 - Mo 28.12.20 11:36

Wie rufst du denn den InnoSetup-Kompiler auf, d.h. welche Kommandozeile wird verwendet?

Und welche Verzeichnispfade passen nicht (vom Kompiler oder vom Script)?


discipuli - Mo 28.12.20 11:42

ich geh auf die Oberfläche / open Datei.iss F9 Run
Das ist meine Reihenfolge
Discipuli


Th69 - Mo 28.12.20 11:47

Ja, das ist mir klar, aber wie sieht die Kommandozeile aus (sollte wohl irgendwo im "Ausgabe"-Fenster stehen)?

Hast du evtl. Leerzeichen im Pfad?


jaenicke - Mo 28.12.20 13:42

Und sonst kannst du ja einmal zumindest testweise manuell auf der Kommandozeile kompilieren. Wenn das geht, weißt du zumindest, dass du nicht noch mehr Probleme hast (und einen Workaround hast du auch).


discipuli - Mo 28.12.20 15:26

Hallo Ihr beiden, ich habe nicht die geringste Ahnung wie man auf der Kommandozeile was macht.
Mein Ihr Windows rechte Maustaste dann ausführen?
Ja und dann?
Wie ihr an meinem Pseudonym seht, sind das wirklich Fragen eines
Discipuli (des Schülers)


jaenicke - Mo 28.12.20 16:03

Das Beispiel steht ja in dem Screenshot oben:

Quelltext
1:
Compil32.exe /cc MeinSkript.iss                    


Aber vielleicht noch einmal von vorne. Du hast ja geschrieben:
user profile icondiscipuli hat folgendes geschrieben Zum zitierten Posting springen:
Es kam die Fehlermeldung: "Verzeichnisse Pfade nicht gefunden".
Der Screenshot ist aber ja von einem anderen Fehler. Was hast du denn gemacht und wann kam welcher Fehler?
Wie sieht der Fehler
Zitat:
"Verzeichnisse Pfade nicht gefunden"
aus?

Normalerweise startest du die Compil32.exe und siehst dann ein Fenster, in dem du das Setup-Skript laden, kompilieren und ausführen kannst. Das klappt ja wohl auch. Und dann? Steht irgendwo welche Pfade nicht gefunden werden?
Hast du vielleicht Dateien verschoben, die dein Skript benötigt?

Das Plugin ist ja wohl das um zusätzliche Inhalte herunterladen zu können. Das kann die aktuelle Version von Inno Setup aber mittlerweile schon selbst (FTP wohl nicht, aber zumindest HTTP), so dass du das Plugin vielleicht gar nicht mehr brauchst.


discipuli - Mo 28.12.20 17:35

Jetzt noch mal den Ablauf.
Zuerst hatte ich installiert die Version innosetup-6.0.5.exe. Von der stammte die umfangreiche Meldung_2.
Weil da was von 32 stand und ich im Netz was dazu gefunden habe, habe ich die 5.5.9 installiert.
Die habe ich in ausführen jetzt so gestartet: c:\Program Files (x86)\Setup\Compil32.exe
Die bringt nun diesen Fehler Code_Fehler.
Also was tun?
innosetup-6.0.5.exe installieren Namen und Pfade ändern?
Gibt es hier jemanden, der mir per TeamViewer oder Windows Zubehör/Remotehilfe die Sache klärt.
Das wäre mir wirklich was wert.
Discipuli


Th69 - Mo 28.12.20 18:53

Also die Fehlermeldung im Code (bzgl. "<idp.iss>") deutet darauf hin, daß das "Inno Download Plugin" nicht gefunden wurde, also nicht (richtig) installiert wurde.


discipuli - Mo 28.12.20 19:15

Aber wie soll ich das richtig installieren?
Drauf klicken und fertig?
Ich habe jedenfalls keine Meldung irgendwie gesehen
Discipuli


jaenicke - Di 29.12.20 00:37

Bei der Installation wird angeboten das Plugin der Konfiguration hinzuzufügen. Das scheint aber nicht zu funktionieren.

Bei mir funktioniert es mit der aktuellsten Inno Setup Version und der aktuellsten IDP Version so:

Quelltext
1:
#include "C:\Program Files (x86)\Inno Download Plugin\idp.iss"                    


discipuli - Di 29.12.20 12:16

Hallo Jaennicke
Zuerst danke für Eure Hilfe.

Sind das die, die du installiert hast?
InnoSetup innosetup-6.0.5.exe
idpsetup-1.5.1.exe

Quelltext
1:
#include "C:\Program Files (x86)\Inno Download Plugin\idp.iss"                    

Was aber mache ich damit?
Discipuli

Moderiert von user profile iconTh69: Code-Tags hinzugefügt


jaenicke - Di 29.12.20 12:23

An der Stelle, an der der Fehler kommt (Code_Fehler.jpg), steht die idp.iss ohne volle Pfadangabe drin. Der Pfad wurde vom Setup offenbar nicht korrekt registriert, so dass sie nicht gefunden wird. Deshalb musst du an der Stelle den Pfad zu der Datei mit angeben, d.h. bei einer Standardinstallation (sprich wenn du keinen anderen Installationspfad angegeben hast) einfach die Zeile durch meine ersetzen.


discipuli - Di 29.12.20 12:54

Hallo Jaenicke, jetzt habe ich deinen Namen hoffentlich richtig geschrieben.

diesen Pfad habe ich kopiert, der hat also keinen Tippfehler.
Ist "C:\" unzulässig?

Quelltext
1:
2:
3:
4:
5:
define use_sqlcompact4
#define use_dotnetfx40
// Downloader plugin
#include c:\Program Files (x86)\Setup\idpsetup-1.5.1.exe
[Setup]

Es kommt die Meldung

Fehler
1:
Line 14 Column 11: undeclared identifier "C"                    

Mal sehe ich #, ist mit ok?

Discipuli

Moderiert von user profile iconTh69: Code-Tags hinzugefügt


Th69 - Di 29.12.20 13:51

Du hast die Anführungsstriche vergessen.
Und dort muß selbstverständlich der Pfad zu der "idp.iss" hin (nicht zum Setup)!

Verstehst du überhaupt das Problem? jaenicke [https://entwickler-ecke.de/user_jaenicke.html] hat es in seinem Beitrag doch eindeutig beschrieben (mit korrekter Code-Zeile).


discipuli - Di 29.12.20 16:26

Das Problem habe ich natürlich nicht verstanden, sonst hätte ich es ja gelöst
Ja, ja so ist das mit 86 als Schüler
Wo kommen die Anführungszeichen hin?
Zudem sitze ich vor einem fremden Programm.

Mit den verschiedenen Stellen für die Anführungszeichen ergeben keine Lösung

Quelltext
1:
2:
#include <"c:\Program Files (x86)\Inno Setup 6\Compil32.exe">
#include "<c:\Program Files (x86)\Inno Setup 6\Compil32.exe>"

Es kommt die Meldung: "Unbekanntes Filename Prefix".
Was ist ein Prefix?

Discipuli

Moderiert von user profile iconTh69: Code-Tags hinzugefügt


Th69 - Di 29.12.20 17:16

Kannst du noch nicht einmal den Code von jaenicke 1:1 kopieren?

Quelltext
1:
#include "C:\Program Files (x86)\Inno Download Plugin\idp.iss"                    

Ein Präfix [https://de.wikipedia.org/wiki/Pr%C3%A4fix] (bzw. englisch "prefix") ist eine Vorsilbe.
Aber entweder die Fehlermeldung ist fehlerhaft (sic!) oder du hast dich verlesen, denn es geht hier um den "Suffix", d.h. ".exe"-Dateien können nicht per #include eingebunden werden, sondern nur ".iss"-Dateien (also "Inno Setup Skript"-Dateien).


discipuli - Di 29.12.20 18:43

Hallo Th69
neue Meldung

Quelltext
1:
#include "c:\Program Files (x86)\Inno Download Plugin\source\idp.iss"                    

danach

Quelltext
1:
Line 34 [Issp]Actual parameter Major is not of the declared type                    

In den Code von jaenicke habe ich nur den neuen Pfad eingebunden.
Offensichtlich tut sich aber was.

In Zeile wird diese Datei gesucht

Quelltext
1:
LicenseFile=Texte\Activ_EULA_2016_German.txt                    

Ich kann mir gut vorstellen, dass diese Datei benötigt wird.

Hier habe ich die gefunden:

Quelltext
1:
a:\ActivCommOrg\MakeInnoZubehör\Install_Code_Unbekannt\Eula_Text\Activ_EULA_2016_German.txt                    

Wo sollte die sinnvollerweise hin?

Disicpuli

Moderiert von user profile iconTh69: Code-Tags hinzugefügt


jaenicke - Mi 30.12.20 00:11

Dort steht ja Texte\Activ_EULA_2016_German.txt, dementsprechend wird die Datei in einem Ordner Texte neben deinem Installskript erwartet. Liegt dein Installskript dort?

Quelltext
1:
a:\ActivCommOrg\MakeInnoZubehör\Install_Code_Unbekannt                    

Dann musst du im Skript nur aus Texte den korrekten Ordernamen Eula_Text machen.

Moderiert von user profile iconTh69: Code-Tags hinzugefügt


discipuli - Mi 30.12.20 10:54

Hallo Sebastian
jaenicke hat folgendes geschrieben:
dementsprechend wird die Datei in einem Ordner Texte neben deinem Installskript erwartet. Liegt dein Installskript dort?

Es gibt hier folgende Pfade (s. jpg im Anhang).
Discipuli

Moderiert von user profile iconTh69: Quote-Tags hinzugefügt


jaenicke - Mi 30.12.20 14:00

Das ist der Ordner, in dem Inno Setup installiert ist. Gemeint ist der Ordner, in dem das Install Skript liegt, das du kompilieren möchtest.


discipuli - Mi 30.12.20 17:27

Also dann kann ich machen was ich will,
mit der Vokabel Text davor zusätzlich mit der Partition a: und ohne a:

Quelltext
1:
2:
3:
LicenseFile=ActivCommOrg\Activsetup\Activ_EULA_2016_German.txt
InfoBeforeFile=ActivCommOrg\Activsetup\text\Information_vor_Installation.txt
InfoAfterFile=ActivCommOrg\Activsetup\text\Information_nach_Installation.txt

Es kommt immer die Meldung: is not declared Type
Diese verdammte Syntax.

Discipuli

Das möchte ich wirklich sagen: Ihr seit richtig freundlich.

Moderiert von user profile iconTh69: Code-Tags hinzugefügt


jaenicke - Mi 30.12.20 23:00

Deine Skripte (StandardActivInstallation.iss, ...) liegen doch im Ordner a:\ActivCommOrg\Activsetup und die Textdateien im gleichen Ordner. Dann sollte es auch ganz ohne Pfad gehen:

Quelltext
1:
2:
3:
LicenseFile=Activ_EULA_2016_German.txt
InfoBeforeFile=Information_vor_Installation.txt
InfoAfterFile=Information_nach_Installation.txt


discipuli - Do 31.12.20 12:39

Hallo Sebastian,
es wird kein Pfad oder so was angemeckert sondern die Definition.
zuerst stand hier was von Text.
Das halte ich für eine Variable, die zu deklarieren ist.
Könnte sein, dass eine ähnliche Zeile eingefügt werden muss wie diese?
#define MyAppExeName "MakeNewActivInstall.exe"
Wenn das so ist, dann wäre es schön wenn Du/Ihr sofort die mit die Zeilen mit richtigen Syntax zurück schreibt.

Ich wünsche Euch einen guten Rutsch und viel Gesundheit in 2021.

Discipuli


jaenicke - Do 31.12.20 19:34

Wie lautet denn die Fehlermeldung genau (immer noch "Actual parameter Major is not of the declared type"?) und wie sieht das Skript an der Stelle (und davor und danach) aus?

Wenn das genau an der Stelle mit dem include kommt, sitzt das entweder an der falschen Stelle oder das Plugin passt nicht zur Inno Setup Version.


discipuli - Sa 02.01.21 11:54

Guten Tag Sebastian,
es wird immer kurioser.
Jetzt habe ich die Zeilen 34,35,36 mit ; zu Kommentare gemacht.
Jetzt kommt eine andere Meldung.
Discipuli

Ich möchte Dir einen Vorschlag machen:
Wirf mal TeamViewer oder Windows Zubehör Remote Hilfe an.
Hier die Zeit hin und her zu vergeuden ist nicht sehr sinnvoll.
Es soll nicht dein Schaden sein.
hwahle15@gmail.com so erreichst Du mich.


jaenicke - Sa 02.01.21 19:19

user profile icondiscipuli hat folgendes geschrieben Zum zitierten Posting springen:
Jetzt habe ich die Zeilen 34,35,36 mit ; zu Kommentare gemacht.
Jetzt kommt eine andere Meldung.
Gemeint ist ja die Zeile 34 in der idp.iss, die aber normalerweise ja korrekt ist. Ich habe Inno Setup 6.1.2 getestet, aber das sollte keinen Unterschied machen.

Interessant ist aber was in der Zeile dort passiert. Es wird die Version der DLL des Plugins ausgelesen. Ich vermute, dass das schief geht und die genannte Variable daher nicht gefüllt ist oder so etwas.

Ich habe dir eine Mail geschickt.


discipuli - Sa 02.01.21 19:25

Hallo Sebastian.
gerade habe ich festgestellt, dass die Adresse nicht läuft.
Schicke den Text bitte an nc-wahlehu@netcologne.de
Discipuli