[архив] Inno Setup .:[все вопросы]:.

Ответить
 • Просмотры: 35
Аватара пользователя
HQ-Team nuke

Re: [архив] Inno Setup .:[все вопросы]:.

Сообщение HQ-Team nuke »

Есть portable программа, а именно winamp, все отлично, за исключением одного, все расширения к нему привязываются лишь после запуска и захода в настройки, пробовал это делать средством AutoIt3, но как то это долго очень и не есть правельно, хотелось бы как то это запаковать в Inno Setup с дальнейшей тихой установкой и привязкой расширения к файлам, я скачал мануал по Inno Setup и наткнулся на привязку расширений, возможно ли мною задуманное, кто этим уже занимался, может подскажите что к чему, просто новичек в Inno Setup. Спасибо.
Аватара пользователя
i.Sky

Re: [архив] Inno Setup .:[все вопросы]:.

Сообщение i.Sky »

mariolast, а более подробней. Не понятно, что вы хотите сделать? Какие пустые папки необходимо создать?


Цитата mariolast:



и папка WORK\ пустая
[архив] Inno Setup .:[все вопросы]:.




Это и есть ответ на ваш вопрос... т.е. вы пытаетесь скомпилировать пустую папку без файлов и папок, соответственно компилятор ругается: No files found matching "путь..."

Файлов то нет...
Аватара пользователя
Serega

Re: [архив] Inno Setup .:[все вопросы]:.

Сообщение Serega »

Да, именно так и надо, чтобы создавалась пустая папка без файлов

Я вот делаю так



[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 .:[все вопросы]:.

Сообщение Serega »

mariolast, тогда в своём проекте перед компиляцией, создайте все эти папки в WORK\* и после этого можно компилировать с вашим первым вариантом...
Аватара пользователя
HQ-Team nuke

Re: [архив] Inno Setup .:[все вопросы]:.

Сообщение HQ-Team nuke »

А это отдельные папки, я для примера привел, 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



Непустые папки компилятор берет, А вот пустые приходится в другую секцию переносить Изображение
Аватара пользователя
i.Sky

Re: [архив] Inno Setup .:[все вопросы]:.

Сообщение i.Sky »

Цитата mariolast:



Непустые папки компилятор берет, А вот пустые приходится в другую секцию переносить
[архив] Inno Setup .:[все вопросы]:.




И не возьмет пустые. Создание пустых каталогов только через секцию [Dirs]. Не вижу проблемы в этом. Правда если пустых подкаталогов много, то придется помучиться, возможно, это как-то можно автоматизировать (облегчить) с помощью препроцессора, но тут я ничего сказать не могу.
Аватара пользователя
Serega

Re: [архив] Inno Setup .:[все вопросы]:.

Сообщение Serega »

Цитата boss911:



возможно, это как-то можно автоматизировать (облегчить) с помощью препроцессора
[архив] Inno Setup .:[все вопросы]:.




а смысл, ведь всё равно вводить имена всех папок...
Аватара пользователя
i.Sky

Re: [архив] Inno Setup .:[все вопросы]:.

Сообщение i.Sky »

Цитата Serega_:



всё равно вводить имена всех папок...
[архив] Inno Setup .:[все вопросы]:.




Имелось в виду, что код препроцессора в момент компиляции просканирует пустые каталоги и сгенерирует список в скрипт в тот же момент компиляции. Я видел немного похожий случай, даже проверял его, но только с файлами, так бы пришлось прописывать куча файлов, а так это делает за тебя препроцессор (составляет список в скрипт). Я не сильно в этом понимаю, но думаю, что для пустых каталогов можно было бы что-то придумать в этом духе.
Аватара пользователя
Serega

Re: [архив] Inno Setup .:[все вопросы]:.

Сообщение Serega »

Хм...мало что понял про препроцессор, что-то новенькое..

Еще вопрос.

Надо сделать возможность выбора при установке:



- Сетевая версия

- Локальная версия



И у каждого типа установки свои файлы и директории, в т.ч. и пустые. Но есть и общие.

Как это примерно реализовать?
Аватара пользователя
vserd

Re: [архив] Inno Setup .:[все вопросы]:.

Сообщение vserd »

Цитата 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}
Ответить

Вернуться в «Автоматическая установка приложений»