[архив] Inno Setup .:[все вопросы]:.
-
HQ-Team nuke
Re: [архив] Inno Setup .:[все вопросы]:.
Есть portable программа, а именно winamp, все отлично, за исключением одного, все расширения к нему привязываются лишь после запуска и захода в настройки, пробовал это делать средством AutoIt3, но как то это долго очень и не есть правельно, хотелось бы как то это запаковать в Inno Setup с дальнейшей тихой установкой и привязкой расширения к файлам, я скачал мануал по Inno Setup и наткнулся на привязку расширений, возможно ли мною задуманное, кто этим уже занимался, может подскажите что к чему, просто новичек в Inno Setup. Спасибо.
-
i.Sky
Re: [архив] Inno Setup .:[все вопросы]:.
mariolast, а более подробней. Не понятно, что вы хотите сделать? Какие пустые папки необходимо создать?
Цитата mariolast:
и папка WORK\ пустая
Это и есть ответ на ваш вопрос... т.е. вы пытаетесь скомпилировать пустую папку без файлов и папок, соответственно компилятор ругается: No files found matching "путь..."
Файлов то нет...
Цитата mariolast:
и папка WORK\ пустая
[архив] Inno Setup .:[все вопросы]:.
Это и есть ответ на ваш вопрос... т.е. вы пытаетесь скомпилировать пустую папку без файлов и папок, соответственно компилятор ругается: No files found matching "путь..."
Файлов то нет...
-
Serega
Re: [архив] Inno Setup .:[все вопросы]:.
Да, именно так и надо, чтобы создавалась пустая папка без файлов
Я вот делаю так
[Dirs]
Name: {app}\FAVORITES; Flags: uninsneveruninstall
Name: {app}\LOG; Flags: uninsneveruninstall
Name: {app}\NEWS; Flags: uninsneveruninstall
Name: {app}\OUTPUT; Flags: uninsneveruninstall
Name: {app}\SAVEARC; Flags: uninsneveruninstall
Name: {app}\SESSION; Flags: uninsneveruninstall
Name: {app}\TEXT_NEW; Flags: uninsneveruninstall
Name: {app}\USER; Flags: uninsneveruninstall
Но если в папках есть подпапки и они пустые и их много....может есть быстрое решение?
Я вот делаю так
[Dirs]
Name: {app}\FAVORITES; Flags: uninsneveruninstall
Name: {app}\LOG; Flags: uninsneveruninstall
Name: {app}\NEWS; Flags: uninsneveruninstall
Name: {app}\OUTPUT; Flags: uninsneveruninstall
Name: {app}\SAVEARC; Flags: uninsneveruninstall
Name: {app}\SESSION; Flags: uninsneveruninstall
Name: {app}\TEXT_NEW; Flags: uninsneveruninstall
Name: {app}\USER; Flags: uninsneveruninstall
Но если в папках есть подпапки и они пустые и их много....может есть быстрое решение?
-
Serega
Re: [архив] Inno Setup .:[все вопросы]:.
mariolast, тогда в своём проекте перед компиляцией, создайте все эти папки в WORK\* и после этого можно компилировать с вашим первым вариантом...
-
HQ-Team nuke
Re: [архив] Inno Setup .:[все вопросы]:.
А это отдельные папки, я для примера привел, Work в том числе, и вот пустую то папку как раз компилятор не создает, если в ней пусто...
Вот скрипт
[Files]
Source: F:\INSTALL\Liga\LOC_FILES\LOC_FILES\KEYFILES\*; DestDir: {app}; Flags: ignoreversion overwritereadonly recursesubdirs createallsubdirs
Source: F:\INSTALL\Liga\LOC_FILES\LOC_FILES\UNINST\*; DestDir: {app}; Flags: ignoreversion overwritereadonly recursesubdirs createallsubdirs
Source: F:\INSTALL\Liga\LOC_FILES\LOC_FILES\WORK\*; DestDir: {app}; Flags: ignoreversion overwritereadonly recursesubdirs createallsubdirs
[Dirs]
Name: {app}\FAVORITES; Flags: uninsneveruninstall
Name: {app}\LOG; Flags: uninsneveruninstall
Name: {app}\NEWS; Flags: uninsneveruninstall
Name: {app}\OUTPUT; Flags: uninsneveruninstall
Name: {app}\SAVEARC; Flags: uninsneveruninstall
Name: {app}\SESSION; Flags: uninsneveruninstall
Name: {app}\TEXT_NEW; Flags: uninsneveruninstall
Name: {app}\USER; Flags: uninsneveruninstall
Непустые папки компилятор берет, А вот пустые приходится в другую секцию переносить
Вот скрипт
[Files]
Source: F:\INSTALL\Liga\LOC_FILES\LOC_FILES\KEYFILES\*; DestDir: {app}; Flags: ignoreversion overwritereadonly recursesubdirs createallsubdirs
Source: F:\INSTALL\Liga\LOC_FILES\LOC_FILES\UNINST\*; DestDir: {app}; Flags: ignoreversion overwritereadonly recursesubdirs createallsubdirs
Source: F:\INSTALL\Liga\LOC_FILES\LOC_FILES\WORK\*; DestDir: {app}; Flags: ignoreversion overwritereadonly recursesubdirs createallsubdirs
[Dirs]
Name: {app}\FAVORITES; Flags: uninsneveruninstall
Name: {app}\LOG; Flags: uninsneveruninstall
Name: {app}\NEWS; Flags: uninsneveruninstall
Name: {app}\OUTPUT; Flags: uninsneveruninstall
Name: {app}\SAVEARC; Flags: uninsneveruninstall
Name: {app}\SESSION; Flags: uninsneveruninstall
Name: {app}\TEXT_NEW; Flags: uninsneveruninstall
Name: {app}\USER; Flags: uninsneveruninstall
Непустые папки компилятор берет, А вот пустые приходится в другую секцию переносить

-
i.Sky
Re: [архив] Inno Setup .:[все вопросы]:.
Цитата mariolast:
Непустые папки компилятор берет, А вот пустые приходится в другую секцию переносить
И не возьмет пустые. Создание пустых каталогов только через секцию [Dirs]. Не вижу проблемы в этом. Правда если пустых подкаталогов много, то придется помучиться, возможно, это как-то можно автоматизировать (облегчить) с помощью препроцессора, но тут я ничего сказать не могу.
Непустые папки компилятор берет, А вот пустые приходится в другую секцию переносить
[архив] Inno Setup .:[все вопросы]:.
И не возьмет пустые. Создание пустых каталогов только через секцию [Dirs]. Не вижу проблемы в этом. Правда если пустых подкаталогов много, то придется помучиться, возможно, это как-то можно автоматизировать (облегчить) с помощью препроцессора, но тут я ничего сказать не могу.
-
Serega
Re: [архив] Inno Setup .:[все вопросы]:.
Цитата boss911:
возможно, это как-то можно автоматизировать (облегчить) с помощью препроцессора
а смысл, ведь всё равно вводить имена всех папок...
возможно, это как-то можно автоматизировать (облегчить) с помощью препроцессора
[архив] Inno Setup .:[все вопросы]:.
а смысл, ведь всё равно вводить имена всех папок...
-
i.Sky
Re: [архив] Inno Setup .:[все вопросы]:.
Цитата Serega_:
всё равно вводить имена всех папок...
Имелось в виду, что код препроцессора в момент компиляции просканирует пустые каталоги и сгенерирует список в скрипт в тот же момент компиляции. Я видел немного похожий случай, даже проверял его, но только с файлами, так бы пришлось прописывать куча файлов, а так это делает за тебя препроцессор (составляет список в скрипт). Я не сильно в этом понимаю, но думаю, что для пустых каталогов можно было бы что-то придумать в этом духе.
всё равно вводить имена всех папок...
[архив] Inno Setup .:[все вопросы]:.
Имелось в виду, что код препроцессора в момент компиляции просканирует пустые каталоги и сгенерирует список в скрипт в тот же момент компиляции. Я видел немного похожий случай, даже проверял его, но только с файлами, так бы пришлось прописывать куча файлов, а так это делает за тебя препроцессор (составляет список в скрипт). Я не сильно в этом понимаю, но думаю, что для пустых каталогов можно было бы что-то придумать в этом духе.
-
Serega
Re: [архив] Inno Setup .:[все вопросы]:.
Хм...мало что понял про препроцессор, что-то новенькое..
Еще вопрос.
Надо сделать возможность выбора при установке:
- Сетевая версия
- Локальная версия
И у каждого типа установки свои файлы и директории, в т.ч. и пустые. Но есть и общие.
Как это примерно реализовать?
Еще вопрос.
Надо сделать возможность выбора при установке:
- Сетевая версия
- Локальная версия
И у каждого типа установки свои файлы и директории, в т.ч. и пустые. Но есть и общие.
Как это примерно реализовать?
-
vserd
Re: [архив] Inno Setup .:[все вопросы]:.
Цитата mariolast:
Надо сделать возможность выбора при установке:
Накидал вам два примера
Код:
Надо сделать возможность выбора при установке:
[архив] Inno Setup .:[все вопросы]:.
Накидал вам два примера
читать дальше »
Код:
Код: Выделить всё
; 1 вариант, через [Components]
[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={pf}\My Program
OutputDir=.
[Languages]
Name: russian; MessagesFile: compiler:Default.isl
[Types]
Name: network; Description: Сетевая версия
Name: local; Description: Локальная версия; Flags: iscustom
[Components]
Name: a; Description: Моя программа™; Types: network; Flags: exclusive
Name: b; Description: Моя программа™64; Types: local; Flags: exclusive
Name: c; Description: Справка; Types: network local
[Files]
Source: compiler:Examples\MyProg.exe; DestDir: {app}; Components: a
Source: compiler:Examples\MyProg-x64.exe; DestDir: {app}; Components: b
Source: compiler:Examples\MyProg.chm; DestDir: {app}; Components: c
; 2 вариант, через секцию [Tasks]
;[Setup]
;AppName=My Program
;AppVerName=My Program v 1.5
;DefaultDirName={pf}\My Program
;OutputDir=.
;[Languages]
;Name: russian; MessagesFile: compiler:Default.isl
;[Tasks]
;Name: network; Description: Сетевая версия; GroupDescription: Варианты установки:; Flags: exclusive
;Name: local; Description: Локальная версия; GroupDescription: Варианты установки:; Flags: exclusive
;[Files]
;Source: compiler:Examples\MyProg.exe; DestDir: {app}; Tasks: network
;Source: compiler:Examples\MyProg-x64.exe; DestDir: {app}; Tasks: local
;Source: compiler:Examples\MyProg.chm; DestDir: {app}