So fügen Sie einen Ordner in Ihre EXE-Datei mit dem Inno Setup Compiler ein

8

Ich verwende derzeit den Inno-Setup-Compiler, um ein Installationsprogramm für Windows zu erstellen, und alles funktioniert gut, außer wenn ich versuche, einen Ordner in die EXE aufzunehmen. Mit anderen Worten, ich möchte einen Ordner mit zwei Dateien darin einfügen können. Ich möchte, dass dieser Ordner genau dort angezeigt wird, wo sich die .exe-Datei befindet (C: \ Programme x86 \ appFolder), wenn das Programm installiert wird / p>

Inno hat eine Option zum Hinzufügen von Ordnern, aber aus irgendeinem Grund, wenn ich den Ordner mit den zwei Dateien wähle, kompiliert es sich gut, aber wenn ich das Programm tatsächlich installiere, fügt es tatsächlich die zwei Dateien hinzu, aber nicht den Ordner.

Ich habe die folgende Codezeile online gefunden und ich habe sie benutzt, aber sie enthielt tatsächlich einige Ordner, die ich nicht haben wollte. Das Problem, das ich mit dieser Codezeile habe, ist, dass ich es nicht vollständig verstehe, ich weiß nicht, wo der Ordnerpfad sein sollte? Was ist Exclude: "Setup.iss, generated_images \"

%Vor%

Kann jemand so freundlich sein, diese Codezeile zu erklären?

Danke

    
fs_tigre 14.11.2013, 12:38
quelle

3 Antworten

16

Aus Ihren Kommentaren (da Sie tatsächlich nicht den gesamten Code sehen, über den Sie sprechen), machen Sie etwas wie:

%Vor%

In diesem Fall kopiert es den Inhalt von subfolder nach {app} .

Wenn Sie es kopieren und das Unterverzeichnis behalten möchten, geben Sie das Verzeichnis selbst an:

%Vor%

Oder geben Sie ein explizites Zielverzeichnis an:

%Vor%     
Deanna 14.11.2013 17:08
quelle
3

Ich hatte ein ähnliches Problem:

Ich habe diesen Ordner unter anderem:

  • . \ WorkFolder \ MyEmptyFolder \

Ich möchte das auf dem installierten System:

  • . \ PathToExe \ Name.exe
  • . \ PathToExe \ MyEmptyFolder \

Wenn der Ordner nicht leer ist, funktioniert es, aber manchmal brauche ich einen leeren Ordner.

Ich verwende diese Zeile:

%Vor%

Was ich mit dem Skript machen möchte, ist (ohne das Skript jedes Mal neu schreiben zu müssen):

  • Wenn der Ordner leer ist, dann ist der Ordner leer, existiert jedoch
  • Wenn der Ordner Dateien und / oder Unterordner enthält, ist der Ordner bei der Installation vorhanden und enthält diesen Inhalt

Mein Problem ist, wenn es leer ist, endet das Skript mit einem Fehler, der sagt, dass es keine Dateien darauf gibt. Es versteht nicht, dass ich diesen Ordner und alles, was darauf sein könnte, in diesem Moment haben möchte.

Danke für die Ideen, ich versuche sie und habe die Lösung, hier ist es:

Stellen Sie zuerst sicher, dass der Ordner erstellt wird (wenn keine Dateien mit dem Abschnitt "Dateien" erstellt wurden):

%Vor%

Bearbeiten Sie als Nächstes die Zeile im Abschnitt Dateien, um "skipifsourcedoesntexist" einzufügen:

%Vor%

Und es tut was ich will: Schließen Sie einen solchen Ordner und alles was darauf ist ein, egal ob der Ordner leer ist oder nicht, das Skript wird nicht mit einem Fehler enden wenn es leer ist.

Wie funktioniert das?

Einfacher Trick: Wenn der Ordner leer ist, würde die Dateisektion fehlschlagen und das Skript würde mit einem Fehler enden, aber mit skipifsourcedoesntexist es das vermeiden, aber das würde diesen Ordner nicht existieren lassen, das ist der Grund, warum ich diesen Ordner hinzufüge Dirs Abschnitt, um sicherzustellen, dass es immer erstellt wird.

Hoffe, das hilft anderen, nicht verrückt zu werden!

    
anonimous 19.06.2015 11:45
quelle
0

bei der Einrichtung der Setup-Datei Inno SETUP .... Klicken Sie auf den neuen Ordner, klicken Sie auf die URL, klicken Sie dann auf Bearbeiten und benennen Sie den Unterordner, den Sie in den Installationsordner aufnehmen möchten.

    
lex 08.07.2017 10:25
quelle