Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Inno Setup (создание инсталяционных пакетов)

Модерирует : gyra, Maz

Widok (16-05-2009 12:45): Лимит страниц. Продолжаем здесь.  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106

   

Widok



Moderator-Следопыт
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Это мощное средство для создания установочных пакетов (дистрибутивов) программ. Поддерживается шифрование, установка пароля, различные задачи по завершении установки. Можно создавать свои страницы, используя Inno Setup Form Designer.
По сравнению с NSIS (основной конкурент на бесплатной основе) проще в настройке, имеет более понятную структуру скрипта.
 
Последний бета релиз: 5.3.1-beta [15.05.2009]
Последний стабильный релиз: 5.2.4 [01.04.2009]
Что нового? | Что нового в версии 5.3-beta? | Все сборки
 
Inno Setup Compiler 5.2.3 090506 - расширенная версия от ResTools | зеркало
Добавляет списку компонентов возможность сворачивать дочерние элементы. Содержит более удобный редактор, кроме того, компилятор имеет множество других возможностей и новых функций. На сайте автора также есть дополнительные библиотеки.
 
Русификатор версии 5.2.0 от NightW0lf | зеркало
 
Русская справка к версии 5.0.x, автор перевода BagIra | зеркало || cкачать в .chm формате
 
Inno Setup Scripting 5.1 - Руководство по расширенным возможностям Inno Setup от Kindly
версия 5 скачать | зеркало || версия 4 скачать | зеркало || версия 3 скачать | зеркало
 
Inno Setup Extensions Knowledge Base (содержит ответы на многие вопросы) | старая chm-версия  
 
Коллекция скриптов и Сборник вопросов, собранных из этой и предыдущих частей топика.
 
Corona Skin & Check System Requirements от Victor_Dobrov
Скачать | зеркало | скриншот | описание | старая версия || InnoSetup Upgrade || Слайд-шоу
Обложка для Inno Setup. Сделает инсталлятор более симпатичным и добавляет расширения: Проверка минимальных требований. Расширенный прогрессбар. Расчёт времени до завершения распаковки. Список дисков. Слайдшоу или AVI-файл в фоновом окне. Компактный режим установки. Деинсталляция неучтённых файлов. Экран справки/скриншота. Медиаплеер и многое другое...
 
InnoTools Downloader 0.3.5 [15.10.2008] от Sherlock Software
Это скрипт и DLL, которые позволяют вам скачивать файлы с HTTP или FTP из вашей инсталяционной программы.
Скачать (400 Kb) | Что нового?
 
Пережатиe/Pекомпрессия/Oптимизация файлов для лучшего сжатия - обсуждение того, какими утилитами/способами лучше сжимать, чтобы получить как можно меньший размер инсталятора.
 
Примечание: Если необходимо использовать метод проверки внешнего файла через сумму MD5 (который описан в 5 версии руководства от Kindly) для запуска инсталлятора, то понадобится калькулятор хеша MD5, калькулятор сумм MD5, SHA-256, CRC32. Если требуется узнать, какие ключи реестра меняет та или иная программа, используйте RegShot. Чтобы растянуть фоновый рисунок на весь экран, в версии Inno Setup 5.1.10 и выше используйте этот код.

Дополнительные утилиты для Inno Setup


Мощная надстройка для Inno Setup, при помощи которой создавать свои инсталляторы становится очень просто.
 
Последний релиз: 5.3.0 [07.04.2009]
Скачать | зеркало || Русификатор | зеркало

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

Прежнее название ScriptMaker. Удобная оболочка для облегчения написания скриптов установки для Inno Setup. Обладает некоторыми полезными функциями, которых нет ни у самого Inno Setup, ни у ISTool.
 
Последний релиз: 1.0.3.1 [23.03.2008]
Скачать | обновить (нужен QuickStartPack 5.2.3)

Распаковщик инсталляторов, созданных с помощью Inno Setup, начиная с версии 3.0.0-beta по 5.2.4. Извлекает ресурсы и скрипт установки (без секции Code). К Total Commander или FAR подключается с помощью MultiArc плагинов.
 
Последний релиз: 0.21 [21.04.2009]
Скачать | Расширенная версия (с поддержкой русского языка)
 

Программа для создания и добавления в инсталлятор кастомных скинов. Изменить можно практически любой элемент окна.
Инструкция по добавлению нужных кусков кода в скрипт (английский язык).
 
Последний релиз: 2.0.0.0 [18.09.2008]
Скачать | Зеркало

Примечание для всех участников

Объёмные скрипты или части кода заключайте в тег more, чтобы ваш вопрос в сообщении не затерялся среди множества строк прилагаемого скрипта.

Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 12:26 29-12-2008 | Исправлено: boss911, 17:49 15-05-2009
Raf_SE



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ктониь можеть объединить эти коды?
Список винчестеров + Боковушка с описанием компонентов + Деинсталлятор UninsHs + Проверка присудствия папок, после деинсталяции

----------
«Геополитика – это лжетеория, ведущая к оправданию завоеваний и войны» (с) Нюрнбергский трибунал

Всего записей: 1174 | Зарегистр. 06-08-2006 | Отправлено: 15:22 04-05-2009 | Исправлено: Raf_SE, 15:22 04-05-2009
spider91

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
как на картинке ниже сделать чтоб оторажалаcь текстура для кнопки выход и чтоб она была нажатой?
 
 

Всего записей: 605 | Зарегистр. 02-02-2009 | Отправлено: 15:29 04-05-2009 | Исправлено: spider91, 15:32 04-05-2009
Yoldosh



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
spider91

Цитата:
если хочеш выложу свой скрипт для CoD4 там все ето есть

давай если можна с батником
 

Всего записей: 98 | Зарегистр. 21-01-2009 | Отправлено: 15:34 04-05-2009
spider91

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Yoldosh
 
 
держи там скрипт и архив со всеми вспомогательными файлами и батниками
 
Добавлено:
DeKaNszn

Цитата:
у Qarma есть скрипт, очень похожий на то, что на скрине  

 
 
 если ты про етот скрипт говорил то я там ниче не нашел.

Всего записей: 605 | Зарегистр. 02-02-2009 | Отправлено: 16:04 04-05-2009
Victor_Dobrov



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
tahirg
Цитата:
как  для каждого компонента выделить обьём?  

вот так компонентам добавляется ExtraDiskSpaceRequired, чтобы при выборе плюсовать дополнительное место на диске.

Всего записей: 743 | Зарегистр. 27-09-2005 | Отправлено: 16:31 04-05-2009
Seup

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
spider91

Цитата:
если хочеш могу выложить свой скрипт для Call of Duty 4 где все ето тоже есть, причем звуков там намного больше

Не стоит. Я просто выложит пример скрипта распаковки архива "arc" с последующим запуском батника, подумал может кому пригодится.

Всего записей: 34 | Зарегистр. 30-04-2009 | Отправлено: 17:09 04-05-2009
Qarma

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
у Qarma есть скрипт, очень похожий на то, что на скрине  

Что вам нужно, могу дать

Всего записей: 288 | Зарегистр. 18-02-2009 | Отправлено: 17:10 04-05-2009
spider91

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Qarma
 
как сделать выбор компонентов(не тех что в Components а тех что в Tasks) как на етом скрине красным?
 
 

Всего записей: 605 | Зарегистр. 02-02-2009 | Отправлено: 17:20 04-05-2009
Qarma

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В скрипте написать надо  
begin          
  ~~~ := TCheckBox.Create(WizardForm);
  with DesktopIcon do
  begin
  Parent := WizardForm.SelectDirPage; - тут поменять, чтобы отображалось на странице компонентов
  Caption := 'ТЕКСТ';
  Left := ScaleX(0);
  Top := WizardForm.DirEdit.Top+35;
  Width := ScaleX(400);
  Height := ScaleY(15);
  TabOrder := 0;
  Checked := True;
  end;
end;

Всего записей: 288 | Зарегистр. 18-02-2009 | Отправлено: 17:23 04-05-2009 | Исправлено: Qarma, 17:27 04-05-2009
spider91

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Qarma
 
 
и что будет так как на скрине? нажимаеш на одну(на скрине ето - создать резервную копию) и выделяются все остальные?

Всего записей: 605 | Зарегистр. 02-02-2009 | Отправлено: 17:36 04-05-2009
Victor_Dobrov



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
spider91
Цитата:
как сделать выбор компонентов(не тех что в Components а тех что в Tasks) как на етом скрине красным?

Если имеется в виду одна группа задач, то так же, как в компонентах. (кстати, в ISTool это делать проще)
 
[Tasks]
Name: Backup; Description: Создать резервную копию; GroupDescription: Дополнительные задачи
Name: Backup\Base; Description: Создать резервную копию баз данных конфигурации; GroupDescription: Дополнительные задачи

Всего записей: 743 | Зарегистр. 27-09-2005 | Отправлено: 17:39 04-05-2009
Qarma

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
spider91
Правильно Victor_Dobrov сказал, делай через  ISTool

Всего записей: 288 | Зарегистр. 18-02-2009 | Отправлено: 17:44 04-05-2009
spider91

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Victor_Dobrov
 
спасибо

Всего записей: 605 | Зарегистр. 02-02-2009 | Отправлено: 18:01 04-05-2009
Qarma

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Мне понравился один еффект в репаках от EagleSH - крутится видео прямо в окне установщика....хотелось бы такое реализовать

Всего записей: 288 | Зарегистр. 18-02-2009 | Отправлено: 18:13 04-05-2009
Seup

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Raf_SE

Цитата:
Ктониь можеть объединить эти коды?
Список винчестеров + Боковушка с описанием компонентов + Деинсталлятор UninsHs + Проверка присудствия папок, после деинсталяции

 
Я объединил только "Список винчестеров" и "Проверка присудствия папок, после деинсталяции".Боковушку с описанием компонентов не сделал, т.к. скрипт требует descctrl.dll, у меня его нету. "Деинсталлятор UninsHs" я не совсем понял что это.
 
Вот код "Список винчестеров" и "Проверка присудствия папок, после деинсталяции"

Цитата:
var n: Integer; FreeMB, TotalMB: Cardinal; VolumeName, FileSystemName: String; VolumeSerialNo, MaxComponentLength, FileSystemFlags: Longint; ListBox: TListBox; StartMenuTreeView: TStartMenuFolderTreeView;
 
const oneMB= 1024*1024;
function GetLogicalDrives: DWord; external 'GetLogicalDrives@kernel32.dll stdcall';
function GetDriveType(nDrive: String): Longint; external 'GetDriveTypeA@kernel32.dll stdcall';
function GetVolumeInformation(PathName,VolumeName: PChar; VolumeNameSize,VolumeSerialNumber,MaxComponentLength,FileSystemFlags: Longint; FileSystemName: PChar; FileSystemNameSize: Longint): Longint; external 'GetVolumeInformationA@kernel32.dll stdcall';
function MessageBox(hWnd: Integer; lpText, lpCaption: String; uType: Cardinal): Integer; external 'MessageBoxA@user32.dll stdcall';
 
Function ByteOrTB(Bytes: Extended; noMB: Boolean): String; { Перевод числа в значение бт/Кб/Мб/Гб/Тб (до 3х знаков после запятой)}
Begin
    if not noMB then Result:= FloatToStr(Int(Bytes)) +' Мб' else
        if Bytes < 1024 then Result:= FloatToStr(Int(Bytes)) +' Бт' else
            if Bytes/1024 < 1024 then Result:= FloatToStr(round((Bytes/1024)*10)/10) +' Кб' else
                If Bytes/oneMB < 1024 then Result:= FloatToStr(round(Bytes/oneMB*100)/100) +' Мб' else
                    If Bytes/oneMB/1000 < 1024 then Result:= FloatToStr(round(Bytes/oneMB/1024*1000)/1000) +' Гб' else
                        Result:= FloatToStr(round(Bytes/oneMB/oneMB*1000)/1000) +' Тб'
    StringChange(Result, ',', '.')
End;
 
Function DelSP(String: String): String; { Удаление начальных, конечных и повторных пробелов }
    Begin    while (Pos(' ', String) > 0) do Delete(String, Pos(' ', String), 1); Result:= Trim(String); End;
 
Function CutString(String: String; MaxLength: Longint): String; { Обрезать строку до заданного кол-ва символов}
    Begin
        if Length(String) > MaxLength then Result:= Copy(String, 1, 6) +'...'+ Copy(String, Length(String) - MaxLength +9, MaxLength)
        else Result:= String;
    End;
 
Procedure GetDiskInfo(Disk: String);
    Begin
        FileSystemName:= StringOfChar(' ', 32); VolumeName:= StringOfChar(' ', 256);
            GetVolumeInformation(Disk, VolumeName, 255, VolumeSerialNo, MaxComponentLength, FileSystemFlags, FileSystemName, 31);
        FileSystemName:= DelSp(FileSystemName); VolumeName:= DelSp(VolumeName); if VolumeName='' then VolumeName:='без метки';
    End;
 
Procedure ListBoxRefresh;    var FreeB, TotalB: Cardinal; Path, String: string; Begin
    ListBox.Items.Clear
for n:= 1 to 31 do    // диск 'А' пропустить
    if (GetLogicalDrives and (1 shl n)) > 0 then
        if (GetDriveType(Chr(ord('A') + n) +':\') = 2) or (GetDriveType(Chr(ord('A') + n) +':\') = 3) then
            if GetSpaceOnDisk(Chr(ord('A') + n) +':\', True, FreeMB, TotalMB) then ListBox.Items.Add(Chr(ord('A') + n) +':');
for n:= 0 to ListBox.Items.Count -1 do begin
    Path:= Copy(ListBox.Items[n],1,2) +'\'        { если в накопителе нет диска, пропустить обновление }
    if GetSpaceOnDisk(Path, False, FreeB, TotalB) and GetSpaceOnDisk(Path, True, FreeMB, TotalMB) then begin GetDiskInfo(Path);
        if FreeB >= $7FFFFFFF then String:= PadL(ByteOrTB(FreeMB*oneMB, true),10) else String:= PadL(ByteOrTB(FreeB, true),10);
        if TotalB >= $7FFFFFFF then begin TotalB:= TotalMB; FreeB:= FreeMB; String:= PadL(ByteOrTB(TotalMB*oneMB, true),11) +' всего -'+ String end else String:= PadL(ByteOrTB(TotalB, true),11) +' всего| '+ String;
    ListBox.Items[n]:= Copy(Path,1,2) + String + PadL(FloatToStr(round(FreeB/TotalB*100)),3)+ '% своб|'+ PadL(FileSystemName,5)+ '| '+ CutString(VolumeName,9); end; end;
End;
 
Procedure ObjectOnClick(Sender: TObject); Begin
Case TObject(Sender) of
    ListBox:    for n:= 0 to ListBox.Items.Count-1 do if ListBox.Selected[n] then WizardForm.DirEdit.Text:= Copy(ListBox.Items[n],1,1) +Copy(WizardForm.DirEdit.Text, 2, Length(WizardForm.DirEdit.Text))
    StartMenuTreeView:    if StartMenuTreeView.Directory <> '' then WizardForm.GroupEdit.Text:= StartMenuTreeView.Directory else WizardForm.GroupEdit.Text:= '{#SetupSetting("DefaultGroupName")}'
    WizardForm.NoIconsCheck:    begin WizardForm.GroupEdit.Enabled:= not(WizardForm.GroupEdit.Enabled); StartMenuTreeView.Enabled:= WizardForm.GroupEdit.Enabled; WizardForm.GroupBrowseButton.Enabled:= WizardForm.GroupEdit.Enabled end;
end; End;
 
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
var
  Res: Integer;
begin
  case CurUninstallStep of
    usPostUninstall:
begin
//Проверяем присутствие папки после удаления
 If DirExists(ExpandConstant('{app}')+'')
   then
//Создаем диалог с тремя кнопками
      case MsgBox('Папка "'+ExpandConstant('{app}')+'" не пуста.'#13#13 +
       '"Да" – полное удаление всех файлов в папке, включая саму папку.' #13#13 +
       '"Нет" – открыть папку в проводнике, чтобы вручную удалить файлы.'#13#13 +
       '"Отмена" – ничего не делать, удалить папку позже самостоятельно.', mbInformation, MB_YESNOCANCEL)
      of IDYES:
   begin
if not DelTree(ExpandConstant('{app}')+'', True, True, True)
 then
   MsgBox('Папка не удалена.' #13#13 'Папка или один из файлов в ней задействованы другим приложением.', mbError, MB_OK);
end
 IDNO:
begin
if not ShellExec('open', ExpandConstant('{app}')+'', '', '', SW_SHOWMAXIMIZED, ewNoWait, Res)
 then
   MsgBox('Ошибка открытия.' #13#13 'Папка не найдена.', mbError, MB_OK);
end
 IDCANCEL:
begin
end;
end;
end;
end;
end;
 
//Будьте очень осторожны в таких случаях! Не позволим пользователю установить программу в уже существующую папку:
function NextButtonClick(CurPage: Integer): Boolean;
var
  s, s2:string;
begin
  Result:=True;
  If CurPage=wpSelectDir
 then
begin
  s2:=ExpandConstant('{app}')+'';
  If DirExists(s2)
 then
begin
  s:='Установка в существующую папку в целях безопасности невозможна!';
  MsgBox(s, mbError, mb_Ok);
  Result:=False;
end;
end;
end;
 
Procedure CurPageChanged(CurPageID: Integer);
Begin
    if CurPageID = wpSelectDir then ListBoxRefresh
End;
Procedure InitializeWizard;
Begin
    ListBox:= TListBox.Create(WizardForm)
        ListBox.SetBounds(WizardForm.DirEdit.Left, WizardForm.DirEdit.Top + WizardForm.DirEdit.Height + 8, WizardForm.DirBrowseButton.Left + WizardForm.DirBrowseButton.Width - WizardForm.DirEdit.Left, WizardForm.DiskSpaceLabel.Top - (WizardForm.DirEdit.Top + WizardForm.DirEdit.Height + 12))
        ListBox.Font.Size:= 9
        ListBox.Font.Style:= []
        ListBox.Font.Name:= 'Courier New';
        ListBox.OnClick:= @ObjectOnClick;
        ListBox.Parent:= WizardForm.SelectDirPage;
    WizardForm.NoIconsCheck.SetBounds(WizardForm.DiskSpaceLabel.Left + 96, WizardForm.DiskSpaceLabel.Top + 1, WizardForm.NoIconsCheck.Width, WizardForm.NoIconsCheck.Height)
        WizardForm.NoIconsCheck.OnClick:= @ObjectOnClick
        WizardForm.NoIconsCheck.Parent:= WizardForm.SelectProgramGroupPage
        WizardForm.NoIconsCheck.Show
    StartMenuTreeView:= TStartMenuFolderTreeView.Create(WizardForm)
        StartMenuTreeView.SetPaths(ExpandConstant('{userprograms}'), ExpandConstant('{commonprograms}'), ExpandConstant('{userstartup}'), ExpandConstant('{commonstartup}'));
        StartMenuTreeView.SetBounds(ListBox.Left, ListBox.Top, ListBox.Width, ListBox.Height)
        StartMenuTreeView.Parent:= WizardForm.SelectProgramGroupPage
        StartMenuTreeView.Cursor:= crHand
        StartMenuTreeView.OnChange:=@ObjectOnClick
End;

 
На всякий случай ссылка на скрипт:
http://narod.ru/disk/8342873000/FOR%20Raf_SE.rar.html
 
 
 

Всего записей: 34 | Зарегистр. 30-04-2009 | Отправлено: 18:23 04-05-2009
Raf_SE



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Seup
Спасибо. Я уш думал никто не откликнется...
Только проблема полностью не решена. Когда я пытаюсь встроить остальные 2 кода, Inno находит ошибку в "Procedure CurPageChanged". (встраивал методом "пальцем в небо" )
Может вы попытаетесь склеить и остальные коды?
 
Деинсталлятор UninsHs это альтернатива стандартному деинсталлятору. В этом, кроме функции удаления также есть кнопки "Изменить компоненты" и "Восстановить". На самом деле очень полезная вещь, встраиваю его в каждую инсталляху. Скачать можно отсюда - http://www.han-soft.com/uninshs.php
 
Файл необходимый для боковушки - http://narod.ru/disk/8343782000/descctrl.dll.html
 
P.S.
Коды желательно прятать под тег [more], типо так "[more]Текст[/more]".

----------
«Геополитика – это лжетеория, ведущая к оправданию завоеваний и войны» (с) Нюрнбергский трибунал

Всего записей: 1174 | Зарегистр. 06-08-2006 | Отправлено: 18:43 04-05-2009 | Исправлено: Raf_SE, 18:48 04-05-2009
perf92



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Кто нибудь поможет с этим вопросом? http://forum.ru-board.com/topic.cgi?forum=5&topic=29117&start=1820#12

Всего записей: 46 | Зарегистр. 01-05-2009 | Отправлено: 18:47 04-05-2009 | Исправлено: perf92, 18:47 04-05-2009
spider91

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Raf_SE
 

Цитата:
Inno находит ошибку в "Procedure CurPageChanged".  

 
 
что за ошибка

Всего записей: 605 | Зарегистр. 02-02-2009 | Отправлено: 18:54 04-05-2009
Raf_SE



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
spider91
Ну когда так встраиваю то пишет "Unknown identifer "PageNameLabel"", когда всю "Procedure CurPageChanged(CurPageID: Integer);" в самый низ перетаскиваю, то выделяет красным "Procedure CurPageChanged" и пишет ошибку "Identifer expected". Если перед "Procedure CurPageChanged" дописываю ещё один "End;" тогда снова жалуется на "Unknown identifer "PageNameLabel"".

----------
«Геополитика – это лжетеория, ведущая к оправданию завоеваний и войны» (с) Нюрнбергский трибунал

Всего записей: 1174 | Зарегистр. 06-08-2006 | Отправлено: 19:05 04-05-2009 | Исправлено: Raf_SE, 19:09 04-05-2009
spider91

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Raf_SE
 
 
я конечно нуб но вот держи Подробнее... незнаю или работает как надо но ошибок при компиляции не выдает
 
Добавлено:
проверь что к чему и отпишись. самому интересно узнать что у меня получилось
 
Добавлено:
P.S.
здесь все 4 кода что ты просил

Всего записей: 605 | Зарегистр. 02-02-2009 | Отправлено: 19:12 04-05-2009
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106

Компьютерный форум Ru.Board » Компьютеры » Программы » Inno Setup (создание инсталяционных пакетов)
Widok (16-05-2009 12:45): Лимит страниц. Продолжаем здесь.


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru