2016-09-13 6 views
1

Ich habe ein InnoSetup-Skript, das einen Unterordner voll von anderen Unterordnern (> 40) mit Ausnahme einer von ihnen ausschließen soll.
Im Compiler Ausgang I in diesem Unterordner sehen Dateien tun komprimiert werden, aber die Installation schafft nicht den Ordner noch kopiert die Dateien aus es anderswo.InnoSetup: Versuch, alle außer einem Unterordner auszuschließen

Das Skript sieht wie folgt aus:
(Die Release\extra\more\subs ist der Ordner voll von anderen Ordnern - ich möchte nur die Release\extra\more\subs\need_this_one enthalten.)

[Files] 
; Use all files and folders except some special ones 
Source: "Release\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs; Excludes: "more\subs" 
; Do use some specific folders 
Source: "Release\extra\more\subs\need_this_one\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs 

Die erste Zeile alle Dateien und Ordner kopieren sollte in Release außer allen Unterordnern mit Pfad matching „more\subs“ - und es tut das.

Ich war unter Eindruck, dass die zweite Zeile wird dann kopieren Sie die Release\extra\more\subs\need_this_one Unterordner und Dateien darin - , aber es ist nicht.

Hat jemand eine Ahnung, warum das so ist?

+0

Mögliche Duplikat [Verpackungs Ordner mit Inno Setup Compiler] (http://stackoverflow.com/questions/39256122/packing-folder-with-inno-setup-compiler) –

+0

Btw, Ihre Frage Titel entspricht nicht Ihren tatsächlichen Problem. –

+0

@Martin Prikryl, danke für den Hinweis. Die andere Frage ist, dass ein Ordner nicht erstellt wird, sondern Dateien kopiert werden - in meinem Fall wurden die Dateien nicht kopiert. Wenn sie es wären, würde ich es wahrscheinlich früh genug herausfinden. – spacer

Antwort

1

Nun, es scheint, ich meine eigenen Fragen zur Gewohnheit zu beantworten haben. ;)

Der Haken war, dass DestDir den Pfad auf {app} benötigt, um zu wissen, wo die Dateien abgelegt werden sollen.

das Skript So, das wäre funktioniert:

[Files] 
; Use all files and folders except some special ones 
Source: "Release\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs; Excludes: "more\subs" 
; Do use some specific folders 
Source: "Release\extra\more\subs\need_this_one\*"; DestDir: "{app}\extra\more\subs\need_this_one"; Flags: ignoreversion recursesubdirs 

Es macht Sinn macht, obwohl es nicht klar ist, warum, ohne den Weg, es nicht einfach Dateien aus need_this_one in {app} kopieren ...

Verwandte Themen