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

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

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

Widok (25-09-2007 17:33): лимит страниц. продолжаем здесь  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

Widok



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

Это мощное средство для создания установочных пакетов (дистрибутивов) программ. Поддерживается шифрование, установка пароля, различные задачи по завершении установки. Можно легко самим создавать диалоги, используя спец. дизайнер. И всё это абсолютно бесплатно! По сравнению с NullSoft (основной конкурент на бесплатной ниве) мне albel понравилась более интуитивно-понятная структура скрипта, простота в настройке.  
 
Последний релиз: 5.2.0 [19 сентября 2007 года]
История версий | скачать || скачать Preprocessor
 
Русификатор от NightW0lf для версии 5.2.0
Скачать | зеркало
 
Английская справка для Inno Setup Preprocessor (ISPP) 5.0.xx
Скачать
 
Русская справка к версиям 5.0.xx
Скачать | зеркало || cкачать в .chm формате
И снова BagIra на высоте
 
Руководство по расширенным возможностям Inno Setup 5 (не для чайников) от Kindly
[3 версия]  
Скачать | зеркало
[4 версия]  
Скачать | зеркало
[5 версия]  
Скачать | зеркало
[5.1 версия]  
Скачать | зеркало
 
Inno Setup Extensions Knowledge Base  
Скачать | зеркало
 
Corona Skin & Check System Requirements от Victor_Dobrov
Скачать | Скриншот | Справка
Кроме визуального стиля Corona(WMP9) в инсталлятор по выбору пользователя добавляется: Проверка системы/минимальных требований. Шифрование. Деинсталляция неучтённых файлов. Подсчёт времени установки. Расширенный прогрессбар. Экран скриншота/справки. Screensaver, BMP или AVI-файл в фоновом окне. Проигрывание музыки в фоне и многое другое...
 
Примечание: начиная с версии 5.1.10 в Inno Setup при использовании в инсталляторе фонового изображения формата BMP стало глючить возможность растягивания картинки на весь экран - чтобы это исправить добавьте этот код.
Если вы захотите использовать метод проверки внешнего файла через сумму MD5 (который описан в 5 версии руководства по программированию в Inno Setup) для запуска инсталлятора то вам понадобится калькулятор хеша MD5, калькулятор сумм MD5, SHA-256, CRC32. Если вы хотите узнать какие ключи в реестр вносит та или иная программа (или игра) то Вам понадобится RegShot.



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



 
Последний релиз: 5.2.0 [21 сентября 2007 года]
Скачать | зеркало  
(как сказано в описании изменений, добавлена поддержка новых директив 5.2.0)
 
Русификатор
Скачать | зеркало


 
Распаковщик установок, сделанных с помощью Inno Setup. При распаковке извлекаются  ресурсы и скрипт установки (немного усечённый). Возможно подключение к TotalCommander или FAR с помощью MultiArc плагинов.
 
Поддерживает распаковку инсталляторов, сделанных с помощью Inno Setup начиная с версии 3.0.0-beta по 5.1.14
 
Последний релиз: 0.20 - Тестовая версия [27 августа 2007 года] New
Скачать | зеркало | зеркало


 
Удобная оболочка для облегчения написания скриптов установки для Inno Setup. Обладает некоторыми полезными функциями, которых нет ни у самого Inno Setup, ни у ISTool.
 
Последний релиз: 5.1.6.9 [09 июля 2006 года]
Скачать 4.2 мб | обновление 3.1 мб
 
Русификатор отGloThin
Скачать с сайта GloThin | Зеркало | Зеркало | зеркало
Пароль: ruboard
Примечание: офф. сайт косо отображается в Oper`е.
 
Новое название проекта на сайте, похоже произошла замена ScriptMaker на:
 
Inno Script Generator

Последний релиз: 1.0.2.11 [7 Августа 2007 года]
Скачать | обновление | Изменения
Примечание: обновление ставится только на Inno Setup Quickstartpack 5.1.13.
 
Примечание для всех участников
 
Длинные куски кода помещайте под тегом [more], дабы дать возможность знатокам Inno Setup прочитать сам вопрос, а не пролистывать бесконечно длинные листинги скриптов в посте.

Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 18:01 23-04-2007 | Исправлено: Nekt, 00:33 25-09-2007
RizaR

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребят, извиняюсь за ламерство.  
Вопрос следующий.
Как сделать так, чтобы программа определяла имя текущей учетной записи (например Documents and Settings\Вася\Application Data) и вбивала ее в путь к установки

Всего записей: 81 | Зарегистр. 23-09-2005 | Отправлено: 19:33 26-06-2007
Genri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RizaR
 
[Setup]
AppName=My Program
AppVerName=My Program v.1.2
DefaultDirName={userappdata}\My Program
 
посмотри в хелпе раздел Constants

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 19:54 26-06-2007
Unc1e

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Народ, кто-нибудь знает где достать конвертер, переводящий скрипт Installshield в скрипт Inno Setup??? (Если такой вообще есть)

Всего записей: 434 | Зарегистр. 11-06-2007 | Отправлено: 23:58 26-06-2007
Sampron

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Unc1e
Впервые слышу.

Всего записей: 563 | Зарегистр. 06-01-2007 | Отправлено: 00:02 27-06-2007
Sero



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Unc1e
Используй ISTool - File\Open и открой скрипт InstallShield

Всего записей: 309 | Зарегистр. 29-10-2006 | Отправлено: 00:40 27-06-2007
RizaR

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Большое спасибо! все получилось!
И еще простенький вопрос.  
Как заставить выполняться установленную программу без разрешения пользователя?  
 
Добавлено:
Все разобрался!  
Все довольно просто!

Всего записей: 81 | Зарегистр. 23-09-2005 | Отправлено: 00:41 27-06-2007
Unc1e

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

Всего записей: 434 | Зарегистр. 11-06-2007 | Отправлено: 17:08 27-06-2007
iTASmania_Inc



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sampron
Ты в своих скинах с анимированным кнопками не разобрался, как можно устранить баг с серийным ноиером на странице wpUserInfo?

Всего записей: 443 | Зарегистр. 29-04-2007 | Отправлено: 01:29 28-06-2007
CapsLosk

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите кто нить ПЛИЗЗ!
Есть такая тема:  
 
procedure CancelButtonClick(CurPage: Integer; var Cancel, Confirm: Boolean);
begin
 Cancel:=False;
 Confirm:=False;
 sndPlaySound(ExpandConstant('{tmp}\soundexit.wav'), $0001);
 if MsgBox('Ты действительно хочешь навинтить?', mbError, MB_YESNO) = idYes
 then
  Cancel:=true
  else
    sndPlaySound(ExpandConstant('{tmp}\sound.wav'), $0001 or $0008);
end;
 
Эта процедура действительна для всех страниц при инсталляции.
Можно ли как то сделать чтоб на  
procedure CurStepChanged
при нажатии отмена выполнялось другое условие, например проигралась soundexit2.wav
 
Заранее признателен.

Всего записей: 66 | Зарегистр. 11-01-2007 | Отправлено: 02:33 28-06-2007
Genri

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
CapsLosk --
Цитата:
...чтоб на procedure CurStepChanged при нажатии отмена...
-- что это ? При чем тут процедура CurStepChanged ? Скопировал - не исправил или я не понял вопроса ?
 
Если вопрос должен звучать как "Можно ли как то сделать чтоб на одной из страниц при нажатии отмена выполнялось другое действие", то используй параметр CurPage в условии :
if CurPage = wpReady then
  begin
   // действия для этой страницы
  end else
  begin
    // действия для остальных страниц
  end;

Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 10:13 28-06-2007
CapsLosk

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

Цитата:
Если вопрос должен звучать как "Можно ли как то сделать чтоб на одной из страниц при нажатии отмена выполнялось другое действие", то используй параметр CurPage в условии :  
if CurPage = wpReady then  
  begin  
   // действия для этой страницы  
  end else  
  begin  
    // действия для остальных страниц  
  end;

Именно это я и имел ввиду. Только не вьехал - как например сделать чтоб на странице непосредственно установки при нажатии ОТМЕНА сделать другое действие. Извени - не силен приведи скриптик если не трудно!?

Всего записей: 66 | Зарегистр. 11-01-2007 | Отправлено: 10:54 28-06-2007
Genri

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

Код:
 
[Setup]
AppName=My Program
AppVerName=My Program v.1.2
DefaultDirName={pf}\My Program
 
[Code]
procedure CancelButtonClick(CurPage: Integer; var Cancel, Confirm: Boolean);
begin
  Cancel:=False;
  Confirm:=False;
  (* sndPlaySound(ExpandConstant('{tmp}\soundexit.wav'), $0001); *)
 
  if CurPage = wpInstalling then
    begin
      if MsgBox('Болт в процессе отпиливания !' + #10#13 +
                'Хочешь попытаться навинтить?', mbError, MB_YESNO) = idYes
        then Cancel:=true
      else (* sndPlaySound(ExpandConstant('{tmp}\sound.wav'), $0001 or $0008) *);
    end else
    begin
      if MsgBox('Ты действительно хочешь навинтить?', mbError, MB_YESNO) = idYes
        then Cancel:=true
      else (* sndPlaySound(ExpandConstant('{tmp}\sound.wav'), $0001 or $0008) *);
    end;
end;  


Всего записей: 872 | Зарегистр. 06-09-2003 | Отправлено: 11:45 28-06-2007
Chuvakstepan



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Представляю вашему вниманию оболочку для Inno Setup "Grey Inno Setup". Решил сделать небольшой стильный инсталлятор. Думаю у меня это получилось.
 

 
Прямая ссылка на скрипт здесь ~ 206 Кб
 
В дальнейшем буду дорабатывать

Всего записей: 202 | Зарегистр. 29-01-2007 | Отправлено: 11:56 28-06-2007 | Исправлено: Chuvakstepan, 15:11 28-06-2007
Chanka

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Люди добрые, пожалуйста, помогите. В этом коде на странице выбора директории отображаются локальные диски и количество свободного места. Так вот если места мало появляется сообщение типа установки требуется не менее столько-то мегабайт, а на выбранном диске доступно столько-то мегабайт. Дело в том, что количество мегабайт не совпадает. На странице установки показывает, допустим, C:\ 17% 3.232 GB, а если появляется сообщение о нехватке места то там 3310. Как это исправить?
 
[Setup]
AppName=SystemTest
AppVerName=SystemTest <Version>
DefaultDirName={pf32}\System Check
 
[Files]
Source: get_hw_caps.dll; Flags: dontcopy
 
[Languages]
Name: russian; MessagesFile: compiler:Languages\Russian.isl
 
[Code]
const oneMB = 1024*1024; BufferLen = 50; NeedSize = 20000;
type TMemoryStatus = record dwLength, dwMemoryLoad, dwTotalPhys, dwAvailPhys, dwTotalPageFile, dwAvailPageFile, dwTotalVirtual, dwAvailVirtual: Longint; end;
var Memory: TMemoryStatus; FreeMB, TotalMB: Cardinal; VolumeSerialNo, MaxComponentLength, FileSystemFlags: Longint; i: Integer; VolumeName, FileSystemName: String; ListBox: TListBox;
hWnd: Integer;
 
function MessageBox(hWnd: Integer; lpText, lpCaption: String; uType: Cardinal): Integer;
  external 'MessageBoxA@user32.dll stdcall';
 
function GetHardDriveFreeSpace(hdd: integer): Integer;
  external 'hwc_GetHardDriveFreeSpace@files:get_hw_caps.dll stdcall';
 
function GetHardDriveName(hdd: Integer): PChar;
  external 'hwc_GetHardDriveName@files:get_hw_caps.dll stdcall';
 
function GetHardDriveTotalSpace(hdd: integer): Integer;
  external 'hwc_GetHardDriveTotalSpace@files:get_hw_caps.dll stdcall';
 
function GetHardDrivesCount(): Integer;
  external 'hwc_GetHardDrivesCount@files:get_hw_caps.dll stdcall';
 
function GetVolumeInformation(PathName, VolumeName: PChar; VolumeNameSize, VolumeSerialNumber, MaxComponentLength, FileSystemFlags: Longint; FileSystemName: PChar; FileSystemNameSize: Longint): Longint;
  external 'GetVolumeInformationA@kernel32.dll stdcall';
 
function MorG(MB, onlyMB: Integer): String; // Значение в строку объёма Мб/Гб (Гб округлим до 3-ёх знаков после запятой)
    begin if (MB < 1000) or (onlyMB > 0) then Result:= IntToStr(MB)+ 'MB' else Result:= FloatToStr(round(MB/1024*1000)/1000)+ ' GB'; StringChange(Result, ',', '.') end;
 
procedure ListBoxOnClick(Sender: TObject);
    begin for i:= 0 to ListBox.Items.Count-1 do if ListBox.Selected[i] then WizardForm.DirEdit.Text:= Copy(ListBox.Items[i],1,1) +Copy(WizardForm.DirEdit.Text, 2, Length(WizardForm.DirEdit.Text)); end;
 
 
//******************************************* [Конец - Файл подкачки] ************************************************//
procedure InitializeWizard();
begin
 ListBox:= TListBox.Create(WizardForm)
 with ListBox do begin
    Color:= $EEEEEE; Font.Size:= 10; Font.Name:= 'Courier New'; Font.Style:=[fsBold]; Parent:= WizardForm.SelectDirPage; OnClick:= @ListBoxOnClick; Top:= WizardForm.DirEdit.Top +WizardForm.DirEdit.Height +ScaleY(30); Width:= WizardForm.DirEdit.Left + WizardForm.DirEdit.Width - WizardForm.DirEdit.Left; Height:= WizardForm.DiskSpaceLabel.Top -Top -9;
    FileSystemName:= StringOfChar(' ', BufferLen); VolumeName:= StringOfChar(' ', BufferLen);
    for i:=0 to GetHardDrivesCount-1 do begin
    GetSpaceOnDisk(GetHardDriveName(i), True, FreeMB, TotalMB); GetVolumeInformation(GetHardDriveName(i), VolumeName, BufferLen-1, VolumeSerialNo, MaxComponentLength, FileSystemFlags, FileSystemName, BufferLen-1);
    Items.Add(Copy(Uppercase(GetHardDriveName(i)),0,2) + '\' + Copy('',0,0-Length(MorG(TotalMB,0))) + Copy('  ',0,4-Length(IntToStr(round(FreeMB/TotalMB*100)))) + FloatToStr(round(FreeMB/TotalMB*100)) + '%' + Copy('  ',0,10-Length(MorG(FreeMB,0)))+ MorG(FreeMB,0)); end;
 end;
   with TNewStaticText.Create(WizardForm) do begin Top:= WizardForm.DirEdit.Top +WizardForm.DirEdit.Height +ScaleY(8); Caption:='Список локальных дисков, присутствующих в системе:'; Parent:= WizardForm.SelectDirPage; end;
end;
 
 
function NextButtonClick(CurPageID: Integer): Boolean;
var
  Path,s: String;
  FreeMB, TotalMB: Cardinal;
begin
  Result:= True;
  if CurPageID = wpSelectDir then
    begin
      Path:= ExtractFileDrive(WizardForm.DirEdit.Text);
      GetSpaceOnDisk(Path, True, FreeMB, TotalMB);
       if FreeMB < NeedSize then
      begin
       s:='Установка требует не менее '+ IntTostr(NeedSize)+ ' GB свободного места, а на '#13+' выбранном Вами диске доступно только '+ + IntToStr(FreeMB)+' MB';
       hWnd := StrToInt(ExpandConstant('{wizardhwnd}'));
      MessageBox(hWnd, s, 'Недостаточно места на диске', MB_OK or $10)
        Result := False;
    end;
     end;
      end;

Всего записей: 208 | Зарегистр. 24-08-2006 | Отправлено: 14:56 28-06-2007
Kirgyz

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Chuvakstepan
красиво, я что-то подобное делал для инсталлера Colin McRae DiRT =)
 
 
Добавлено:
Chanka

Цитата:
На странице установки показывает, допустим, C:\ 17% 3.232 GB, а если появляется сообщение о нехватке места то там 3310.  

 
ну дык 3310 мб - это 3,232.... Гб  

Всего записей: 26 | Зарегистр. 28-04-2007 | Отправлено: 14:56 28-06-2007
Chanka

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Kirgyz
А как сделать как в сталкере. Чтобы показывалось одно и тоже число?

Всего записей: 208 | Зарегистр. 24-08-2006 | Отправлено: 15:17 28-06-2007
Kirgyz

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Chanka
в своём инсталляторе я дорабатывал вот этот код
 
[Setup]
AppName=My Program
AppVerName=My Program version 1.5
DefaultDirName={pf}\My Program
compression=none
internalcompresslevel=none
 
[Files]
 
 
[Code]
const
  DRIVE_UNKNOWN = 0;
  DRIVE_NO_ROOT_DIR = 1;
  DRIVE_REMOVEABLE = 2;
  DRIVE_FIXED = 3;
  DRIVE_REMOTE = 4;
  DRIVE_CDROM = 5;
  DRIVE_RAMDISK = 6;
  NeedSize = 50;
 
var
  ListBox: TListBox;
 
function GetLogicalDrives: DWORD;
external 'GetLogicalDrives@kernel32.dll stdcall';
 
function GetDriveType(nDrive: String): Longint;
external 'GetDriveTypeA@kernel32.dll stdcall';
 
procedure ListBoxOnClick(Sender: TObject);
var
  NewLetter, OldString: String;
  i: Integer;
begin
  for i:= 0 to ListBox.Items.Count-1 do
    begin
      if ListBox.Selected[i] then
        begin
          NewLetter:= Copy(ListBox.Items[i], 0, 1);
          OldString:= Copy(WizardForm.DirEdit.Text, 2, Length(WizardForm.DirEdit.Text));
          WizardForm.DirEdit.Text:= NewLetter + OldString;
        end;
    end;
end;
 
procedure InitializeWizard();
var
  Page: TWizardPage;
  Text: TNewStaticText;
  Memo: TMemo;
  Path: string;
  FreeMB, TotalMB: Cardinal;
  drives: DWORD;
  i: integer;
begin
  Text := TNewStaticText.Create(WizardForm);
  Text.Top := 102;
  Text.Width := 332;
  Text.Height := 14;
  Text.Caption := 'Список жестких дисков и свободного места';
  Text.Parent := WizardForm.SelectDirPage;
 
  ListBox := TListBox.Create(WizardForm);
  ListBox.Top := 120;
  ListBox.Width := 240;
  ListBox.Height := ScaleY(90);
  ListBox.Parent := WizardForm.SelectDirPage;
  ListBox.OnClick := @ListBoxOnClick;
  ListBox.Font.Name := 'Courier New';
  ListBox.Font.Size := 10;
  ListBox.Font.Style := [fsBold];
  ListBox.Color := clBtnFace;
 
  drives := GetLogicalDrives();
  for i := 0 to 31 do
  begin
    if (drives and (1 shl i)) > 0 then
    begin
      Path := chr(ord('A') + i) + ':\';
      if GetDriveType(Path) = DRIVE_FIXED then
      begin
        GetSpaceOnDisk(Path, True, FreeMB, TotalMB);
        if FreeMB>1024 then ListBox.Items.Add(Path + '  ' + IntToStr(round(FreeMB / TotalMB * 100)) + '%  ' + floatToStr(round(FreeMB/1024*100)/100) + ' GB')
        else ListBox.Items.Add(Path + '  ' + IntToStr(round(FreeMB / TotalMB * 100)) + '%  ' + IntToStr(FreeMB) + ' MB');
      end;
    end;
  end;
end;
function NextButtonClick(CurPageID: Integer): Boolean;
var
  Path,s: String;
  FreeMB, TotalMB: Cardinal;
begin
  Result:= True;
  if CurPageID = wpSelectDir then
    begin
      Path:= ExtractFileDrive(WizardForm.DirEdit.Text);
      GetSpaceOnDisk(Path, True, FreeMB, TotalMB);
       if FreeMB < (NeedSize*1024) then
    begin
      if FreeMB>1024 then
      begin
       s:='Для установки приложения необходимо '+ IntTostr(NeedSize)+ ' GB,'#13+'а на выбранном Вами диске доступно только '+ floatToStr(round(FreeMB/1024*100)/100) + ' GB!'
      end
        else s:='Для установки приложения необходимо '+ IntTostr(NeedSize)+ ' GB,'#13+'а на выбранном Вами диске доступно только '+ + IntToStr(FreeMB)+' MB';
      MsgBox(s, mbCriticalError, MB_OK)
        Result := False;
    end;
    end;
end;

Всего записей: 26 | Зарегистр. 28-04-2007 | Отправлено: 15:44 28-06-2007
Chuvakstepan



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Подскажите, пожалуйста, как на странице процесса установки сделать анимацию gif???

Всего записей: 202 | Зарегистр. 29-01-2007 | Отправлено: 15:52 28-06-2007
Victor_Dobrov



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Chuvakstepan
В этой ветке есть коды проигрывания AVI-файлов. А так же смотри страницу wpInstalling в моём скине. И наверное можно прикрутить NSIS плагин AnimGif.dll через CallNSIS.dll.

P.S - тебе не жалко юзеров, привлеченных к уголовной ответственности за использование твоих файлов? Ведь в твоих исходниках предупреждается именно об этом.

Всего записей: 742 | Зарегистр. 27-09-2005 | Отправлено: 15:54 28-06-2007 | Исправлено: Victor_Dobrov, 16:17 28-06-2007
Kirgyz

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sampron
вот посоветовал ты мне расширение убрать у архива SFX. Когда использовал архив, весом 350 мб, то кажись всё было гууд. Но вот щас архивы массой 700 мб и 950 мб и с ними во время установки глюк
 
я использую вот такой метод распаковки
 
[Files]
Source: "sfx.exe"; DestDir: "{app}"; AfterInstall: MyAfterInstall; Flags: ignoreversion deleteafterinstall
 
[Code]
procedure MyAfterInstall();
var
ResultCode: Integer;
begin
begin
 Exec(ExpandConstant('{app}\sfx.exe'), '-e -aoa -y', '', SW_SHOWNORMAL, ewWaitUntilTerminated, ResultCode);
end
end;
 
 
ну естессно разширение меняю, но когда доходит дело до момента распаковки, то вываливается диагностическое сообщение 7зип и пишет, типа невозможно открыть такой то файл, как архив.
 
 
голову поломал, что можно сделать, но всё прикол с расширением- это тема, касперыч его вообще не проверяет и на Висте всё норма. хотелось бы чтобы и щас было всё чики-пуки
 
Добавлено:
Victor_Dobrov
+1 я аж всплакнул  lol

Всего записей: 26 | Зарегистр. 28-04-2007 | Отправлено: 15:56 28-06-2007
   

Страницы: 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

Компьютерный форум Ru.Board » Компьютеры » Программы » Inno Setup (создание инсталяционных пакетов)
Widok (25-09-2007 17:33): лимит страниц. продолжаем здесь


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru