Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » [архив] Скрипты Inno Setup. Помощь и советы [часть 2]

Закрытая тема
Настройки темы
[архив] Скрипты Inno Setup. Помощь и советы [часть 2]

Ветеран


Сообщения: 1133
Благодарности: 580


Конфигурация

Профиль | Отправить PM | Цитировать


Изменения
Автор: jameszero
Дата: 08-11-2010
Описание: тема закрыта
Лимит страниц.
Тема закрыта.
Продолжение по ссылке Скрипты Inno Setup. Помощь и советы [часть 3]




Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме
Inno Setup. Прочие вопросы.


Показать/скрыть: Справка, руководство, примеры:
Показать/скрыть: Ссылки на примеры скриптов:
Показать/скрыть: Дополнительные программы для Inno Setup:
  • ISTool - неплохой редактор скриптов Inno Setup.
    Последняя версия: 5.3.0.1 [29.09.2009] - Скачать | зеркало;
    Предыдущая версия: 5.3.0 [07.04.2009] - Скачать (зеркало) | Русификатор (зеркало);

  • Inno Script Generator - ещё один редактор скриптов Inno Setup. Обладает некоторыми полезными функциями, которых нет ни у самого Inno Setup, ни у ISTool.
    Последняя версия: 1.0.3.1 [23.03.2008] - Скачать;

  • Inno Setup Form Designer - редактор страниц Inno Setup, можно создавать свои страницы. Официальный сайт - недоступен.
    Последняя версия: 2.0.8 [12.11.2006] - Страница с зеркалами;

  • Inno Setup GameScript Generator - программа генерирует скрипты для Inno Setup . С помощью GameScript Generator и Inno Setup вы сможете быстро создать простенький инсталляционный пакет для любой игры. В инсталлятор можно встроить музыку, слайдшоу и фоновый рисунок. Для специалистов созданный скрипт, возможно, будет неплохой заготовкой для дальнейшей модернизации;

  • ISSkin - Программа для создания и добавления в инсталлятор скинов. Инструкция.
    Последняя версия: 3.0.0.0 [19.01.2010] - Скачать;

  • InnoSetup Script Joiner - Программа для объединения нескольких скриптов InnoSetup в один;

  • Converter - Программа конвертирует reg-файлы в формат *.iss (формат скриптов Inno Setup).
    Последняя версия: 0.1.3 [11.09.2009] - Скачать;


Ссылка на архив предыдущей темы (также можно скачать из вложения)

-------
Книги нужны, чтобы напоминать человеку, что его оригинальные мысли не так уж новы... Авраам Линкольн.


Отправлено: 22:06, 23-08-2009

 

Ветеран


Сообщения: 1133
Благодарности: 580

Профиль | Отправить PM | Цитировать


Цитата МИШАНЧИК:
сделать текст белым цветом »
Если в стандартном инсталляторе, т.е. не создавая новые контролы, то
Код: Выделить весь код
  WizardForm.Font.Color:= clWhite;
  WizardForm.PageNameLabel.Font.Color:= clWhite;
  WizardForm.WelcomeLabel1.Font.Color:= clWhite;
если же создаёте контролы, то у каждого текстового есть в свойствах значение Font.Color, соответственно задаёте значение clWhite
Цитата МИШАНЧИК:
отображение картинок на всех страницах инсталятора »
Поищите в предыдущей теме, что-то похожее уже было.

-------
Книги нужны, чтобы напоминать человеку, что его оригинальные мысли не так уж новы... Авраам Линкольн.

Это сообщение посчитали полезным следующие участники:

Отправлено: 13:05, 13-09-2009 | #101



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для A1EXXX

Старожил


Сообщения: 178
Благодарности: 67

Профиль | Отправить PM | Цитировать


Новая версия скриптов для распаковки архивов FreeArc: FreeArc4InnoSetup3_3.zip

Версия 3.3 ext от Victor_Dobrov, 13-09-2009
- arc.ini ищется в c:\
- купирована ошибка индикатора прогресса при использовании внешних распаковщиков
- пофиксена потеря количества извлечённых/распакованных файлов

Версия 3.3 от Bulat Ziganshin, 13-09-2009
- ускорение распаковки на 10%
- FreeArcExtract() поддерживает опцию '-wPATH' для задания каталога для временных файлов
- при прерывании распаковки стирает временные файлы
- исправлена ошибка в unarc.dll - вылетала при распаковке с использованием временных файлов

кто уже скачал, перекачайте, т.к. Bulat Ziganshin немного исправил скрипты (скорость распакови была увеличена, но при этом были небольшие паузы в процессе распаковки)

Последний раз редактировалось A1EXXX, 13-09-2009 в 16:48. Причина: Добавлена исправленная версия

Это сообщение посчитали полезным следующие участники:

Отправлено: 14:32, 13-09-2009 | #102


Ветеран


Сообщения: 1133
Благодарности: 580

Профиль | Отправить PM | Цитировать


Наверное каждый при сборке инсталлятора сталкивался с тем, что не хватает стандартных констант в Inno Setup.
Допустим нужно установить какой-нибудь файл, в папку "Мои рисунки", а константы такой нет...
Ниже приведённый скрипт облегчит определение стандартных папок Windows:
Пример
Код: Выделить весь код
; Данный скрипт позволяет получить путь к стандартным папкам Windows

[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={pf}\My Program
OutputDir=.
Compression=lzma/ultra
InternalCompressLevel=ultra
SolidCompression=yes

[Languages]
Name: russian; MessagesFile: compiler:Languages\Russian.isl

[Code]
const
  MAX_PATH = 260;
  // ниже приведён список id папок, путь которой хотим получить...
  // Виртуальный каталог, представляющий Рабочий стол. (Корень в проводнике)
  CSIDL_DESKTOP                 = $0000;
  // Виртуальный каталог для Internet Explorer.
  CSIDL_INTERNET                = $0001;
  // Меню Пуск -> Программы
  CSIDL_PROGRAMS                = $0002;
  // Виртуальный каталог, содержащий иконки пунктов панели управления
  CSIDL_CONTROLS                = $0003;
  // Виртуальный каталог, содержащий установленные принтеры
  CSIDL_PRINTERS                = $0004;
  // Виртуальный каталог, представляющий папку "Мои документы"
  CSIDL_PERSONAL                = $0005;
  // До Vista ссылался на какталог "Мои документы" на жёстком диске
  // Избранное. (обычно C:\Documents and Settings\username\Favorites)
  CSIDL_FAVORITES               = $0006;
  // Пуск -> Программы -> Автозагрузка
  CSIDL_STARTUP                 = $0007;
  // Недавние документы (обычно C:\Documents and Settings\username\My Recent Documents
  CSIDL_RECENT                  = $0008;
  // Папка, содержащая ярлыки меню "Отправить" (Sent to...) (обычно C:\Documents and Settings\username\SendTo)
  CSIDL_SENDTO                  = $0009;
  // Виртуальный каталог, содержащий файлы в корзине текущего пользователя
  CSIDL_BITBUCKET               = $000a;
  // Элементы меню Пуск текущего пользователя (обычно C:\Documents and Settings\username\Start Menu)
  CSIDL_STARTMENU               = $000b;
  // Рабочий стол текущего пользователя (обычно C:\Documents and Settings\username\Desktop)
  CSIDL_DESKTOPDIRECTORY        = $0010;
  // Виртуальный каталог, представляющий папку "Мой компьютер"
  CSIDL_DRIVES                  = $0011;
  // Виртуальный каталог, представляющий "Сетевое окружение"
  CSIDL_NETWORK                 = $0012;
  // Папка "My Nethood Places" (обычно C:\Documents and Settings\username\NetHood)
  // В неё ссылки на избранные расшаренные ресурсы
  CSIDL_NETHOOD                 = $0013;
  // Папка, содержащая установленные шрифты. (обычно C:\Windows\Fonts)
  CSIDL_FONTS                   = $0014;
  // Шаблоны документов. (Обычно Settings\username\Templates)
  CSIDL_TEMPLATES               = $0015;
  // Элементы меню Пуск для всех пользователей. (обычно C:\Documents and Settings\All Users\Start Menu)
  // Константы, начинающиеся на CSIDL_COMMON_ существуют только в NT версиях
  CSIDL_COMMON_STARTMENU        = $0016;
  // Меню Пуск -> программы для всех пользователей (обычно C:\Documents and Settings\All Users\Start Menu\Programs)
  CSIDL_COMMON_PROGRAMS         = $0017;
  // Меню Пуск -> Программы -> Автозагрузка для всех пользователей (обычно C:\Documents and Settings\All Users\Start Menu\Programs\Startup)
  CSIDL_COMMON_STARTUP          = $0018;
  // Элементы Рабочего стола для всех пользователей (обычно C:\Documents and Settings\All Users\Desktop)
  CSIDL_COMMON_DESKTOPDIRECTORY = $0019;
  // Папка, в которой рограммы должны хранить свои данные(C:\Documents and Settings\username\Application Data)
  CSIDL_APPDATA                 = $001a;
  // Установленные принтеры. (обычно C:\Documents and Settings\username\PrintHood)
  CSIDL_PRINTHOOD               = $001b;
  // user's nonlocalized Startup program group. Устарело.
  CSIDL_ALTSTARTUP              = $001d;         // DBCS
  // Устарело
  CSIDL_COMMON_ALTSTARTUP       = $001e;         // DBCS
  // Ссылки "Избранное" для всех пользователей
  CSIDL_COMMON_FAVORITES        = $001f;
  // Временные Internet файлы (обычно C:\Documents and Settings\username\Local Settings\Temporary Internet Files)
  CSIDL_INTERNET_CACHE          = $0020;
  // Папка для хранения Cookies (обычно C:\Documents and Settings\username\Cookies)
  CSIDL_COOKIES                 = $0021;
  // Хранит ссылки интернет истории IE
  CSIDL_HISTORY                 = $0022;
  // Административные инструменты текущего пользователя (например консоль MMC). Win2000+
  CSIDL_ADMINTOOLS              = $30;
  // Папка для файлов, подготовленных к записи на CD/DVD
  // (Обычно C:\Documents and Settings\username\Local Settings\Application Data\Microsoft\CD Burning)
  CSIDL_CDBURN_AREA             = $3b;
  // Папка, содержащая инструменты администрирования
  CSIDL_COMMON_ADMINTOOLS       = $2f;
  // Папака AppData для всех пользователей. (обычно C:\Documents and Settings\All Users\Application Data)
  CSIDL_COMMON_APPDATA          = $23;
  // Папка "Общие документы" (обычно C:\Documents and Settings\All Users\Documents)
  CSIDL_COMMON_DOCUMENTS        = $2e;
  // Папка шаблонов документов для всех пользователей (Обычно C:\Documents and Settings\All Users\Templates)
  CSIDL_COMMON_TEMPLATES        = $2d;
  // Папка "Моя музыка" для всех пользователей. (обычно C:\Documents and Settings\All Users\Documents\My Music)
  CSIDL_COMMON_MUSIC            = $35;
  // Папка "Мои рисунки" для всех пользователей. (обычно C:\Documents and Settings\All Users\Documents\My Pictures)
  CSIDL_COMMON_PICTURES         = $36;
  // Папка "Моё видео" для всех пользователей (C:\Documents and Settings\All Users\Documents\My Videos)
  CSIDL_COMMON_VIDEO            = $37;
  // Виртуальная папка, представляет список компьютеров в вашей рабочей группе
  CSIDL_COMPUTERSNEARME         = $3d;
  // Виртуальная папка, представляет список сетевых подключений
  CSIDL_CONNECTIONS             = $31;
  // AppData для приложений, которые не переносятся на другой компьютер (обычно C:\Documents and Settings\username\Local Settings\Application Data)
  CSIDL_LOCAL_APPDATA           = $1c;
  // Виртуальный каталог, представляющий папку "Мои документы"
  CSIDL_MYDOCUMENTS             = $0c;
  // Папка "Моя музыка"
  CSIDL_MYMUSIC                 = $0d;
  // Папка "Мои рисунки"
  CSIDL_MYPICTURES              = $27;
  // Папка "Моё видео"
  CSIDL_MYVIDEO                 = $0e;
  // Папка пользователя (обычно C:\Documents and Settings\username)
  CSIDL_PROFILE                 = $28;
  // Папка Program Files (обычно C:\Program Files)
  CSIDL_PROGRAM_FILES           = $26;
  CSIDL_PROGRAM_FILESX86        = $2a;
  // Папка Program Files\Common (обычно C:\Program Files\Common)
  CSIDL_PROGRAM_FILES_COMMON    = $2b;
  CSIDL_PROGRAM_FILES_COMMONX86 = $2c;
  // Папка для ресерсов. Vista и выше (обычно C:\Windows\Resources)
  CSIDL_RESOURCES               = $38;
  CSIDL_RESOURCES_LOCALIZED     = $39;
  // Папака System (обычно C:\Windows\System32 или C:\Windows\System)
  CSIDL_SYSTEM                  = $25;
  CSIDL_SYSTEMX86               = $29;
  // Папка Windows. Она же %windir% или %SYSTEMROOT% (обычно C:\Windows)
  CSIDL_WINDOWS                 = $24;

function SHGetSpecialFolderPath(hwndOwner: HWND; lpszPath: PChar; nFolder: Integer; fCreate: BOOL): BOOL;
  external 'SHGetSpecialFolderPathA@shell32.dll stdcall';

function GetSpecialPath(CSIDL: Word): string;
var
  s:  string;
begin
  SetLength(s, MAX_PATH);
  if not SHGetSpecialFolderPath(0, PChar(s), CSIDL, True) then s := '';
  Result:= PChar(s);
end;

procedure InitializeWizard;
begin
  // определим расположение папки "Мои рисунки"
  MsgBox(GetSpecialPath(CSIDL_MYPICTURES), mbInformation, MB_OK);
end;

-------
Книги нужны, чтобы напоминать человеку, что его оригинальные мысли не так уж новы... Авраам Линкольн.

Это сообщение посчитали полезным следующие участники:

Отправлено: 17:45, 13-09-2009 | #103


Новый участник


Сообщения: 6
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата BlackSelf:
A1EXXX, код на работоспособность не проверялся, но должно быть примерно так: »
Делаю как ты написал
читать дальше »

procedure CurStepChanged(CurStep: TSetupStep);
var
res: Integer;
begin
if CurStep = ssInstall then begin
StartInstall:= GetTickCount {время начала извлечения файлов}
WndHookID:= SetWindowsHookEx(WH_CALLWNDPROC, WrapCWPSTRUCTProc(@OnWndHook, 3), 0, GetCurrentThreadID); {установка SendMessage хука}
TimerID:= SetTimer(0, 0, 500 {полсекунды}, WrapTimerProc(@MyTimerProc, 4)); {установка таймера}
if not {#isFalse(SetupSetting("Uninstallable"))} then Status.count:= -1; // не считать файл unins000.exe
end;
if CurStep = ssPostInstall then
begin
StartInstall:= GetTickCount {время начала распаковки}
UnPackError:= UnPack('{#Archives}')
if UnPackError <> 0 then begin // Error occured, uninstall it then
if not {#isFalse(SetupSetting("Uninstallable"))} then // деинсталляция разрешёна
Exec(ExpandConstant('{uninstallexe}'), '/SILENT','', sw_Hide, ewWaitUntilTerminated, n); // откат установки из-за ошибки unarc.dll
WizardForm.caption:= SetupMessage(msgErrorTitle) +' - '+ cm('ArcBreak')
SetTaskBarTitle(SetupMessage(msgErrorTitle))
end else
SetTaskBarTitle(SetupMessage(msgSetupAppTitle));
ProcessLabel.show
Exec(ExpandConstant('{app}\run.bat'), '', '', SW_SHOW, ewWaitUntilTerminated, res);
DeleteFile(ExpandConstant('{app}\run.bat'));
end;
end;

по завершению работы инсталлятора получаю ошибку
читать дальше »

2009-09-13 11:54:29.562 CurStepChanged raised an exception.
2009-09-13 11:54:29.562 Exception message:
2009-09-13 11:54:29.562 Message box (OK):
Runtime Error (at 157:2795):

Access violation at address 0049F883 in module 'setup.tmp'. Read of address 00000000.
2009-09-13 12:05:20.296 User chose OK.
2009-09-13 12:05:20.296 Need to restart Windows? No
2009-09-13 12:05:20.375 Exception message:
2009-09-13 12:05:20.375 Message box (OK):
Out Of Range.
2009-09-13 12:05:21.265 User chose OK.
2009-09-13 12:05:22.296 Deinitializing Setup.
2009-09-13 12:05:22.328 Log closed.

В чем может быть проблема?

Цитата A1EXXX:
- FreeArcExtract() поддерживает опцию '-wPATH' для задания каталога для временных файлов »
И как это прописать?

Отправлено: 21:10, 13-09-2009 | #104


Аватара для Berline

Старожил


Автор проектов


Сообщения: 401
Благодарности: 57

Профиль | Отправить PM | Цитировать


Цитата Serega:
Вопрос может уже звучал: как добавить на страницу выбора компонентов »
Пример »
СПС большое, за одним исключением - учитывали вы это ил инет - идеально работает если компоненты не имеют вид дерева(т.е. вложенных компонентов), в такои случае, они игнорируются - не выделяются, и если руками выбрать - не снимаются...

-------
Ни что так не стимулирует повысить стабильность системы как приближающийся отпуск...


Последний раз редактировалось Berline, 14-09-2009 в 11:18.


Отправлено: 09:41, 14-09-2009 | #105


Новый участник


Сообщения: 32
Благодарности: 3

Профиль | Отправить PM | Цитировать


[Files]
#ifdef precomp
Source: {#precomp}; DestDir: {sys}; Flags: deleteafterinstall
Source: {#GetEnv("ProgramFiles")}\FreeArc\bin\arc.ini; DestDir: C:\; Flags: deleteafterinstall
#endif

Как сделать что бы как только запустил исталятор, файлы которые указаны в files копировались в назначенный каталог.
Эта процедура копирует их в темп, а надо sys и C:\:

function InitializeSetup(): Boolean;
begin
ExtractTemporaryFile('precomp04.exe');
ExtractTemporaryFile('packjpg_dll.dll');
ExtractTemporaryFile('arc.ini');
end;

Отправлено: 17:59, 14-09-2009 | #106


Новый участник


Сообщения: 7
Благодарности: 0

Профиль | Отправить PM | Цитировать


Я по поводу выбора компонентов.
Вот тот самый код:

[code]

[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={pf}\My Program
OutputDir=.
Compression=lzma/ultra
InternalCompressLevel=ultra
SolidCompression=yes

[Languages]
Name: rus; MessagesFile: compiler:Languages\Russian.isl

[Types]
Name: full; Description: Полная установка
Name: custom; Description: Выборочная установка; Flags: iscustom

[Components]
Name: a; Description: Моя программа™; Types: full custom
Name: a\a; Description: Руководство пользователя; Types: full
Name: a\a\a; Description: Русский; Flags: exclusive
Name: a\a\b; Description: English; Flags: exclusive
Name: a\b; Description: Справка; Types: full

[Files]
Source: Examples\MyProg.exe; DestDir: {app}; Components: a
Source: Examples\Readme-ru.txt; DestDir: {app}; Components: a\a\a
Source: Examples\Readme-en.txt; DestDir: {app}; Components: a\a\b
Source: Examples\MyProg.chm; DestDir: {app}; Components: a\b

Код: Выделить весь код
var
  btn1, btn2: TButton;

procedure btnClick(Sender: TObject);
var
  i: Integer;
begin
  // не знаю почему, но при WizardForm.SelectComponentsPage.ControlCount-1 выскакивает сообщение:
  // 'List index out of bounds.'
  for i:= 0 to WizardForm.SelectComponentsPage.ControlCount-2 do
    case TButton(Sender) of
      btn1: WizardForm.ComponentsList.Checked[i]:= True;
      btn2: WizardForm.ComponentsList.Checked[i]:= False;
    end;
end;

procedure InitializeWizard();
begin
  btn1:= TButton.Create(WizardForm);
  with btn1 do
    begin
      SetBounds(260,210,75,25);
      Caption:= 'Выбрать все';
      OnClick:= @btnClick;
      Parent:= WizardForm.SelectComponentsPage;
    end;

  btn2:= TButton.Create(WizardForm);
  with btn2 do
    begin
      SetBounds(340,210,75,25);
      Caption:= 'Снять выбор';
      OnClick:= @btnClick;
      Parent:= WizardForm.SelectComponentsPage;
    end;
end;
Вопрос в следущем-как сделать, чтобы выделился и анлийский и руссикй язык? То есть-если я хочу, чтобы было оба языка, а не только 1.

Отправлено: 18:21, 14-09-2009 | #107


Аватара для A1EXXX

Старожил


Сообщения: 178
Благодарности: 67

Профиль | Отправить PM | Цитировать


Решил поменять шрифт инсталлятора:

procedure InitializeWizard();
begin
WizardForm.Font.Name:='Tahoma'
end;


но мне нужно сделать так, чтобы шрифт менялся на всех страницах, кроме страниц инфы перед установкой и лицензионного соглашения!

Отправлено: 18:34, 14-09-2009 | #108


Аватара для A1EXXX

Старожил


Сообщения: 178
Благодарности: 67

Профиль | Отправить PM | Цитировать



Отправлено: 22:26, 14-09-2009 | #109


Ветеран


Сообщения: 1133
Благодарности: 580

Профиль | Отправить PM | Цитировать


Цитата Berline:
за одним исключением - учитывали вы это ил инет - идеально работает если компоненты не имеют вид дерева »
меняйте значение в этой строке:
Код: Выделить весь код
  for i:= 0 to WizardForm.SelectComponentsPage.ControlCount-2 do
т.е. измените 2 на 1, если не поможет, то убирите эту цифру... одним словом поиграйте с этим значением.

Цитата DemonAk:
файлы которые указаны в files копировались в назначенный каталог. »
самое простое, это измените так:
Код: Выделить весь код
function InitializeSetup(): Boolean;
begin
  ExtractTemporaryFile('precomp04.exe');
  FileCopy(ExpandConstant('{tmp}\precomp04.exe'), ExpandConstant('{sd}\precomp04.exe'), False);
  ExtractTemporaryFile('packjpg_dll.dll');
  FileCopy(ExpandConstant('{tmp}\packjpg_dll.dll'), ExpandConstant('{sd}\packjpg_dll.dll'), False);
  ExtractTemporaryFile('arc.ini');
  FileCopy(ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{sd}\arc.ini'), False);
end;
и добавьте:
Код: Выделить весь код
procedure DeInitializeSetup();
begin
  DelayDeleteFile(ExpandConstant('{sd}\precomp04.exe'), 4);
  DelayDeleteFile(ExpandConstant('{sd}\packjpg_dll.dll'), 4);
  DelayDeleteFile(ExpandConstant('{sd}\arc.ini'), 4);
end;
Цитата pa60t9ra:
чтобы выделился и анлийский и руссикй язык? »
В секции [Components] убирите флаги: Flags: exclusive

Цитата A1EXXX:
Решил поменять шрифт инсталлятора: »
посмотрите в Справке про секцию [LangOptions]
Цитата A1EXXX:
кроме страниц инфы перед установкой и лицензионного соглашения! »
попробуйте так:
Код: Выделить весь код
procedure CurPageChanged(CurPageID: Integer);
begin
  if CurPageID = wpInfoBefore then WizardForm.Font.Name:= 'Verdana';
  if CurPageID = wpLicense then WizardForm.Font.Name:= 'Verdana';
end;

-------
Книги нужны, чтобы напоминать человеку, что его оригинальные мысли не так уж новы... Авраам Линкольн.


Отправлено: 01:07, 15-09-2009 | #110



Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » [архив] Скрипты Inno Setup. Помощь и советы [часть 2]

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипты Inno Setup. Помощь и советы [часть 3] Serega Автоматическая установка приложений 3755 26-10-2011 17:58
[архив] Inno Setup .:[все вопросы]:. Mchik Автоматическая установка приложений 1329 23-08-2009 20:13
[архив - Часть 2] AutoIt скрипты Vadikan AutoIt 985 21-01-2008 09:58
Скрипты Inno Setup Compiler QAZAK Автоматическая установка приложений 7 15-01-2007 17:59
[Архив - Часть 1.1] AutoIt скрипты EgOrus AutoIt 335 04-02-2006 16:58




 
Переход