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

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

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

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

   

haav



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

 
 
Это мощное средство для создания установочных пакетов [дистрибутивов] программ. Поддерживается шифрование, установка пароля, различные задачи по завершении установки. Можно легко самим создавать диалоги, используя спец. дизайнер. И всё это абсолютно бесплатно! По сравнению с NullSoft [основной конкурент на бесплатной ниве] мне albel понравилась более интуитивно-понятная структура скрипта, простота в настройке.  
 
Последний релиз: 5.1.11 [1 Марта 2007 года]
История версий | скачать  
 
Русификатор от NightW0lf для версии 5.1.11  
Скачать | зеркало
 
Русская справка к версиям 5.0.xx
Скачать | зеркало || cкачать в .chm формате
И снова BagIra на высоте
 
Руководство по расширенным возможностям Inno Setup 5 [не для чайников] от Kindly
[3 версия]  
Скачать | зеркало
[4 версия]  
Скачать | зеркало
[5 версия]  
Скачать | зеркало
 
Inno Setup Extensions Knowledge Base  
Скачать | зеркало
 
Примечание: начиная с версии 5.1.10 в Inno Setup при использовании в инсталляторе фонового изображения формата BMP стало глючить возможность растягивания картинки на весь экран - чтобы это исправить добавьте этот код.
Если вы захотите использовать метод проверки внешнего файла через сумму MD5 [который описан в 5 версии руководства по программированию в Inno Setup] для запуска инсталлятора то вам понадобится калькулятор суммы MD5, калькулятор сумм MD5, SHA-256, CRC32. Если вы хотите узнать какие ключи в реестр вносит та или иная программа [или игра] то Вам понадобится RegShot.



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



ISTool
 
www.istool.org
 
Последний релиз: 5.1.8 [18 Октября 2006 года] New
Скачать | зеркало  
[как сказано в описании изменений, добавлена поддержка новых директив 5.1.8]
 
Русификатор
Скачать | зеркало


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


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

Последний релиз: 1.02.5 [02 Апреля 2007 года]
Скачать | обновление
Примечание: обновление ставится только на Inno Setup Quickstartpack 5.1.11.

Всего записей: 67 | Зарегистр. 11-12-2001 | Отправлено: 15:23 09-10-2002 | Исправлено: NightW0lf, 15:16 15-04-2007
NightW0lf



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
CapsLosk
А ты пробывал их (My program1 - 700 мег, My program2 - 1,5 гиг) в архив сжать (БЕЗ сжатия) и разбить инсталлятор на части по 600 мегабайт??
 
Добавлено:
CapsLosk
Вот попробуй еще один пример с компонентами (2 типа; 1 - 700mb, 2 - 1.5gb)
Пример

Всего записей: 479 | Зарегистр. 08-11-2006 | Отправлено: 11:08 06-02-2007 | Исправлено: NightW0lf, 12:23 06-02-2007
Sero



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

Цитата:
извиняюсь. всё правильно работает. оказывается там от очередности зависит. я то просто в конце дописал, что его переименовывать нужно. а надо было до того, как инсталер файл установит.

 
Понел как надо сделать? ничего сложного там нет.

Всего записей: 309 | Зарегистр. 29-10-2006 | Отправлено: 13:56 06-02-2007
KLERIK2222



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

Всего записей: 634 | Зарегистр. 29-03-2006 | Отправлено: 14:56 06-02-2007
nesesser

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребята.
 
А ссылка на рускую справку не работает =(
Кто может поделиться? Вышлите плз на nesesser2001(at)yandex.ru

Всего записей: 1 | Зарегистр. 06-02-2007 | Отправлено: 15:29 06-02-2007
NightW0lf



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

Цитата:
Кто может поделиться?

Забирай!

Всего записей: 479 | Зарегистр. 08-11-2006 | Отправлено: 16:13 06-02-2007
trueMD



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
где достать русский учебник по скриптам в инно?

Всего записей: 46 | Зарегистр. 27-11-2005 | Отправлено: 21:04 06-02-2007
CapsLosk

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NightW0lf
 
Спасибо - попробую.
А вот такой вопрос: Вот скрипт:
 
//Возвращение к первоначальному фону при помощи (procedure DeinitializeSetup();)
 
 
#include "isxbb.iss"
 
[Setup]
AppName=Принц Персии - Пески времяни
AppVerName=игру
DefaultDirName=D:\Games\My Program
DefaultGroupName=My Program
AllowNoIcons=yes
OutputBaseFilename=Setup
SetupIconFile=PrinceOfPersia.ico
Compression=none
SolidCompression=true
DiskSpanning=true
DiskSliceSize=730000000
InternalCompressLevel=none
WindowVisible=true
BackColor=clBlack
 
[Languages]
Name: russian; MessagesFile: compiler:Languages\Russian.isl
 
[Tasks]
Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}
 
[Files]
Source: Splash.exe; DestDir: {tmp}; Flags: dontcopy
Source: BMP\My_Image.bmp; DestDir: {tmp}; Flags: dontcopy
Source: GIF\2.gif; DestDir: {tmp}; Flags: dontcopy
Source: GIF\3.gif; DestDir: {tmp}; Flags: dontcopy
Source: GIF\4.gif; DestDir: {tmp}; Flags: dontcopy
Source: GIF\5.gif; Flags: dontcopy
Source: GIF\6.gif; DestDir: {tmp}; Flags: dontcopy
Source: GIF\7.gif; DestDir: {tmp}; Flags: dontcopy
Source: Audio\sound.wav; Flags: dontcopy
Source: InnoCallback.dll; DestDir: {tmp}; Flags: dontcopy
Source: BMP\pic1.BMP; DestDir: {tmp}; Flags: dontcopy
Source: BMP\pic2.BMP; DestDir: {tmp}; Flags: dontcopy
Source: BMP\pic3.BMP; DestDir: {tmp}; Flags: dontcopy
Source: {sys}\*.dll; DestDir: {tmp}; Flags: external ;для демонстпации
 
[Icons]
Name: {group}\{cm:UninstallProgram,My Program}; Filename: {uninstallexe}
Name: {userdesktop}\My Program; Filename: {app}\My Program.EXE; Tasks: desktopicon
 
[Run]
Filename: {app}\PrinceOfPersia.EXE; Description: {cm:LaunchProgram,Принц Персии - Пески времяни}; Flags: nowait postinstall skipifsilent
[Code]
type
  TProc = procedure(HandleW, msg, idEvent, TimeSys: LongWord);
 
var
  BackgroundBitmapImage: TBitmapImage;
  TimerID: LongWord;
 
 
function SetTimer(hWnd: LongWord; nIDEvent, uElapse: LongWord; lpTimerFunc: LongWord): LongWord;
external 'SetTimer@user32.dll stdcall';
 
function KillTimer(hWnd: LongWord; nIDEvent: LongWord): LongWord;
external 'KillTimer@user32.dll stdcall';
 
function sndPlaySound(lpszSoundName: string; uFlags: cardinal):integer;
external 'sndPlaySoundA@winmm.dll stdcall';
 
function GetSystemMetrics(nIndex:Integer):Integer;
external 'GetSystemMetrics@user32.dll stdcall';
 
function WrapTimerProc(callback:TProc; paramcount:integer):longword;
external 'wrapcallback@files:innocallback.dll stdcall';
 
 
function InitializeSetup(): Boolean;
var
  sLocation: String;
  iShowCmd: Integer;
  iErrorCode: Integer;
  bRun: Boolean;
  Form: TSetupForm;
  ProgressBar: TNewProgressBar;
 
begin
 
Form := CreateCustomForm();
  try
    Form.ClientWidth := ScaleX(250);  //длина формы
    Form.ClientHeight := ScaleY(60);  //высота формы
    Form.Caption := 'Подготовка к установке';
    Form.Center;
 
    ProgressBar := TNewProgressBar.Create(Form);
    ProgressBar.Left := ScaleX(11);  //отступ индикатора установки в форме, от левого края формы
    ProgressBar.Top := ScaleX(12);  //отступ индикатора установки в форме, от верхнего края формы
    ProgressBar.Width := Form.Width - (2 * ProgressBar.Left)-7; //выщитывается длина индикатора установки (если расстояние между индикатором
//и формой с обоих сторон не одинаково, то после скобки дописываем через (+) или (-) (взависимости от того куда мы хотим
//сдвинуть индикатор, влево (-) или право(+)) цифру). НАПРИМЕР:  ProgressBar.Width := Form.Width - (2 * ProgressBar.Left)-7;
    ProgressBar.Height := ScaleX(16); //высота индикатора установки
    ProgressBar.Parent := Form;
    ProgressBar.Min:= 0; //длина индикатора установки - от (0)
    ProgressBar.Max:= 30; //до (30)
    ProgressBar.Position := 0;
    Form.Show();
 
    ExtractTemporaryFile('splash.exe'); //Извлечение "временной" программы.
    ProgressBar.Position:= ProgressBar.Position + 3;
    ExtractTemporaryFile('pic1.bmp'); //Извлечение "временной" программы.
    ProgressBar.Position:= ProgressBar.Position + 1;
    ExtractTemporaryFile('pic2.bmp'); //Извлечение "временной" программы.
    ProgressBar.Position:= ProgressBar.Position + 1;
    ExtractTemporaryFile('pic3.bmp'); //Извлечение "временной" программы.
    ProgressBar.Position:= ProgressBar.Position + 1;
    ExtractTemporaryFile('My_Image.bmp');
    ProgressBar.Position:= ProgressBar.Position + 3;
    ExtractTemporaryFile('2.gif');
    ProgressBar.Position:= ProgressBar.Position + 3;
    ExtractTemporaryFile('3.gif');
    ProgressBar.Position:= ProgressBar.Position + 3;
    ExtractTemporaryFile('4.gif');
    ProgressBar.Position:= ProgressBar.Position + 3;
    ExtractTemporaryFile('5.gif');
    ProgressBar.Position:= ProgressBar.Position + 3;
    ExtractTemporaryFile('6.gif');
    ProgressBar.Position:= ProgressBar.Position + 3;
    ExtractTemporaryFile('7.gif');
    ProgressBar.Position:= ProgressBar.Position + 3;
    ExtractTemporaryFile(ExpandConstant('sound.wav')); //Извлекаем звуковой файл во временную папку
    ProgressBar.Position:= ProgressBar.Position + 3;
    finally
    Form.Free();
  end;
  sLocation := ExpandConstant('{tmp}');
  //bRun := Exec(sLocation + '\splash.exe', '', sLocation, SW_SHOW, ewWaitUntilTerminated, iErrorCode);  //запуск "временной" программы.
  Result := True;
end;
 
 
 
procedure InitializeWizard();
var
 
 s:string;
 width, height:Integer;
 bitmap:TBitmap;
  begin
 
 WizardForm.CancelButton.BringToFront;
  end;
 
 
 
 
 
procedure CurStepChanged(CurStep: TSetupStep);
var
  res:Integer;
  s, ResultStr:string;
  begin
  if CurStep=ssInstall
then
  begin
sndPlaySound(ExpandConstant('{tmp}\sound.wav'), $0001); //Проигрываем файл. Здесь указаны параметры для повторного
 //проигрывания. Если мы хотим проиграть файл единожды, удаляем параметр 'or $0008'
 
    isxbb_AddImage(ExpandConstant('{tmp}')+'\1.gif',BOTTOM or TIMER);
    isxbb_AddImage(ExpandConstant('{tmp}')+'\2.gif',BOTTOM or TIMER);
    isxbb_AddImage(ExpandConstant('{tmp}')+'\3.gif',BOTTOM or TIMER);
    isxbb_AddImage(ExpandConstant('{tmp}')+'\4.gif',BOTTOM or TIMER);
    isxbb_AddImage(ExpandConstant('{tmp}')+'\5.gif',BOTTOM or TIMER);
    isxbb_AddImage(ExpandConstant('{tmp}')+'\6.gif',BOTTOM or TIMER);
    isxbb_AddImage(ExpandConstant('{tmp}')+'\7.gif',BOTTOM or TIMER);
 
    isxbb_AddImage(ExpandConstant('{tmp}')+'\1.gif',TOP or TIMER);
    isxbb_AddImage(ExpandConstant('{tmp}')+'\2.gif',TOP or TIMER);
    isxbb_AddImage(ExpandConstant('{tmp}')+'\3.gif',TOP or TIMER);
    isxbb_AddImage(ExpandConstant('{tmp}')+'\4.gif',TOP or TIMER);
    isxbb_AddImage(ExpandConstant('{tmp}')+'\5.gif',TOP or TIMER);
    isxbb_AddImage(ExpandConstant('{tmp}')+'\6.gif',TOP or TIMER);
    isxbb_AddImage(ExpandConstant('{tmp}')+'\7.gif',TOP or TIMER);
 
            isxbb_Init(StrToInt(ExpandConstant('{hwnd}')));
            isxbb_StartTimer(1,TOP)
           end;
             end;
 
 
 
function PercentProgress(): Integer;
begin
  with WizardForm.ProgressGauge do
    begin
      Result:= (Position-Min)/((Max - Min)/100) ;
    end;
end;
 
 
procedure OnTimer(HandleW, msg, idEvent, TimeSys: LongWord);
var
  percent: integer;
begin
percent:= PercentProgress;
  with BackgroundBitmapImage do
    begin
      if ((percent > 0) and (percent < 30) and (Tag <> 1))  then
        begin
         Bitmap.LoadFromFile(ExpandConstant('{tmp}') + '\pic1.bmp');
         Visible := true;
         Tag:= 1;
        end else
      if ((percent > 31) and (percent < 51) and (Tag <> 2)) then
        begin
         Bitmap.LoadFromFile(ExpandConstant('{tmp}') + '\pic2.bmp');
         Visible := true;
         Tag:= 2;
        end else
      if ((percent > 52) and (percent < 70) and (Tag <> 3)) then
        begin
         Bitmap.LoadFromFile(ExpandConstant('{tmp}') + '\pic3.bmp');
         Visible := true;
         Tag:= 3;
         end;
 
      if (percent >= 98) then //на скольки процентах будет возвращение в исзодное состояние при помощи (procedure DeinitializeSetup();)
      //в конце скрипта
      begin
        Visible := False;
      end;
      end;
    end;
 
 
 
procedure CurPageChanged(CurPageID: Integer);
var
  pfunc: LongWord;
    begin
          if CurPageID=wpInstalling
          then
               begin
 WizardForm.MainPanel.Visible:=False;
 WizardForm.Bevel1.Visible:=False;
 WizardForm.Width:=ScaleX(226); //Длина переносимого главного окна индикатора установки.
 WizardForm.Height:=ScaleY(89); //Высота переносимого главного окна индикатора установки.
 
 //Здесь смещение страницы установки (в верхний левый угол)
 WizardForm.Left:=ScaleX(0);
 WizardForm.Top:=ScaleY(0);
{Внимание! Нижеописанные способы смещения работают только когда вставлено фоновое изображение или WindowVisible=yes}
{Выводит в правом верхнем углу экрана}
//WizardForm.Left:=ScaleX(MainForm.Width-420);
//WizardForm.Top:=ScaleY(MainForm.Left+20);
 
{Выводит снизу по центру экрана}
//WizardForm.Position:=poScreenCenter;
//WizardForm.Top:=ScaleY(MainForm.Height-170);
 
{Выводит в нижнем левом углу (как в Doom 3 Resurrection of Evil от 1C)}
//WizardForm.Left:=ScaleX(MainForm.Left+20);
//WizardForm.Top:=ScaleY(MainForm.Height-170);
 
{Выводит в нижнем правом углу}
//WizardForm.Left:=ScaleX(MainForm.Width-420);
//WizardForm.Top:=ScaleY(MainForm.Height-170);
 
WizardForm.InnerNotebook.Left:=ScaleX(6); //Отступ от левого края, в главном окне индикатора установки, самого индикатора установки.
WizardForm.InnerNotebook.Top:=ScaleY(5); //Отступ от верхнего края, в главном окне индикатора установки, самого индикатора установки (Вместе с кнопкой //Отмена).
WizardForm.InnerNotebook.Width:=ScaleX(122); //Длина индикатора установки
WizardForm.StatusLabel.Left:=ScaleX(0); //Отступ слева в главном окне, индикатора установки, пояснений: распаковка файлов (верхняя строка).
WizardForm.StatusLabel.Top:=ScaleY(0); //Отступ сверху в главном окне, индикатора  установки, пояснений: распаковка файлов (верхняя строка).
WizardForm.StatusLabel.Width:=WizardForm.InnerNotebook.Width;
WizardForm.FileNameLabel.Left:=ScaleX(0); //Отступ слева в главном окне, индикатора установки, пояснений: путь распаковки файлов (верхняя строка).
WizardForm.FileNameLabel.Top:=ScaleY(14); //Отступ сверху в главном окне, индикатора установки, пояснений: путь распаковки файлов (верхняя строка).
WizardForm.FileNameLabel.Width:=WizardForm.InnerNotebook.Width;
WizardForm.ProgressGauge.Top:=ScaleY(29); //Отступ от верхнего края, в главном окне индикатора установки, самого индикатора установки.
WizardForm.ProgressGauge.Width:=WizardForm.InnerNotebook.Width;
WizardForm.CancelButton.Left:=ScaleX(134); //Отступ слева кнопки: Отмена.
WizardForm.CancelButton.Top:=ScaleY(33); //Отступ сверху кнопки: Отмена.
 
 pfunc:= WrapTimerProc(@OnTimer, 4);
 TimerID:= SetTimer(0, 0, 500, pfunc);
 
 BackgroundBitmapImage := TBitmapImage.Create(MainForm);
 with BackgroundBitmapImage do
        begin
          Left := 50;
          Top := 100;
          AutoSize := True;
          Center := True;
          Parent := MainForm;
          Visible := False; // все подготовили, но скрыли.
          Tag:= 0;
          end;
           end;
 if CurPageID=wpFinished
  then
    begin
  WizardForm.Width:=502; //Размер окна по горизонтали
  WizardForm.Height:=392; //Размер окна по вертикали
  WizardForm.Position:=poScreenCenter; //Возврат в исходное состояние
 
 end;
   end;
 
//Возрат к фоновому окну
 
procedure DeinitializeSetup();
 
        begin
           KillTimer(0, TimerID);
        end;
 
.//////////////////////////////////////////////////////////////////////////////////////////////////////////
 
В этой части, как я понимаю,
 
BackgroundBitmapImage := TBitmapImage.Create(MainForm);
 with BackgroundBitmapImage do
        begin
          Left := 50;
          Top := 100;
          AutoSize := True;
          Center := True;
          Parent := MainForm;
          Visible := False; // все подготовили, но скрыли.
          Tag:= 0;
          end;
           end;
 
 
Указываются параметры показа дополнительных картинок, но они показываются почемуто не по центру!!! Что не так???
 

Всего записей: 66 | Зарегистр. 11-01-2007 | Отправлено: 02:29 07-02-2007
Sampron

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
CapsLosk
Удали эти значения:
Left := 50;  
Top := 100;

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

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

Цитата:
Удали эти значения:  
Left := 50;  
Top := 100;

 
НЕ ПОМОГАЕТ!!!

Всего записей: 66 | Зарегистр. 11-01-2007 | Отправлено: 03:11 07-02-2007
NightW0lf



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

Цитата:
А вот такой вопрос:
Указываются параметры показа дополнительных картинок, но они показываются почемуто не по центру!!! Что не так???

Попробуй скачать мой игровой дистрибутив там реализованно ВСЕ тоже самое только нет такой ошибки и заместо GIF, BMP - JPEG, WAV - MP3 и слайд-шоу по таймеру.

Всего записей: 479 | Зарегистр. 08-11-2006 | Отправлено: 11:17 07-02-2007
Sero



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите пожалуйста! как проделать это в Inno Setup? если конечно возможно.
 
Добавлено:
И еще один вопрос:
Как поставить один Checkbox вместо двух RadioButton на странице wpLicense.

Всего записей: 309 | Зарегистр. 29-10-2006 | Отправлено: 14:02 07-02-2007 | Исправлено: Sero, 14:06 07-02-2007
maxdddca123

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Парни очень важный вопрос, помогайте пожалуйста. Вобщем смысл в том, что мне надо в текстовом файле найти 1 слово, если оно там присутствует, то ставить прогу, иначе нет. Как вытащить текст я знаю:
LoadStringFromFile('C:\Program Files\1Cv77\TaxDB2\RELEASE.TXT',s);
Т.О. весь текст, содержащийся в этом файле присваевается строковой переменной s. Но я не знаю как сделать поиск определённого слова в этом тексте. Подскажите пожалуйста как это сделать ???

Всего записей: 211 | Зарегистр. 14-12-2006 | Отправлено: 22:41 07-02-2007
CapsLosk

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как осуществить чтото типа этого?
 
 
BackgroundBitmapImage := TBitmapImage.Create(MainForm);
 with BackgroundBitmapImage do
        begin
          Left := (MainForm.Width - BackgroundImage.Width) / 2;
          Top := (MainForm.Height - BackgroundImage.Height) / 2;
          AutoSize := True;
          //Center := True;
          Parent := MainForm;
          Visible := False; // все подготовили, но скрыли.
          Tag:= 0;
          end;
           end;
 
т.е высчитать положение рисунка на форме (в денном случае по центру) - но это не работает. Подскажите ктто нить
 
Добавлено:
ВСЕ, СДЕЛАЛ!!!

Всего записей: 66 | Зарегистр. 11-01-2007 | Отправлено: 04:55 08-02-2007
omals

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
2 maxdddca123
используй
function Pos(SubStr, S: String): Integer;
Description:
Searches for Substr within S and returns an integer value that is the index of the first character of Substr within S.
If Substr is not found, Pos returns zero.
 
но если там строк больше 1, то LoadStringsFromFile а не LoadStringFromFile

Всего записей: 110 | Зарегистр. 04-12-2006 | Отправлено: 09:16 08-02-2007
CapsLosk

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

Цитата:
CapsLosk  
А ты пробывал их (My program1 - 700 мег, My program2 - 1,5 гиг) в архив сжать (БЕЗ сжатия) и разбить инсталлятор на части по 600 мегабайт??  
 
Добавлено:  
CapsLosk  
Вот попробуй еще один пример с компонентами (2 типа; 1 - 700mb, 2 - 1.5gb)  
Пример  

 
Кстате в твоем примере - один фиг если я выбираю me program 2, то всеравно после того ка он пролистает 1. Даже без упаковки за счет того что файл большой тупняк присутствует!!!

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



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

Цитата:
Кстате в твоем примере - один фиг если я выбираю me program 2, то всеравно после того ка он пролистает 1. Даже без упаковки за счет того что файл большой тупняк присутствует!!!

Я проверял все работает 1 компанент весил - 700 мб, 2 - 1,5 гб я их поочереди ставил - ВСЕ работает.
 
Скинь весь код в личку посматрю что и как у тебя.

Всего записей: 479 | Зарегистр. 08-11-2006 | Отправлено: 12:55 08-02-2007
maxdddca123

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
omals
Да у меня и с LoadStringFromFile получилось всё, просто я не вижу ранницы особой ? Слово которое я ищу может находится где угодно, в чём тогда приемущество использования LoadStringSFromFile ???

Всего записей: 211 | Зарегистр. 14-12-2006 | Отправлено: 16:25 08-02-2007
CapsLosk

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NightW0lf
в твоем скрипте есть такое:
 
{ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * }
{ * * * * * * * * * * * * * * * * * [Кнопка создать новую папку в при выборе директории установки]  * * * * * * * * * * }
{ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * }
procedure DirOnClick(Sender: TObject);
var
  res: Boolean;
  UserSelectDir: string;
begin
  UserSelectDir := WizardForm.DirEdit.Text;
  res := BrowseForFolder('Выберите папку из списка и нажмите «ОК»', UserSelectDir, True);
  if res then
  begin
    WizardForm.DirEdit.Text := UserSelectDir;
  end;
end;
{ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * }
{ * * * * * * * * * * * * * * * * * [Кнопка создать новую папку в при выборе директории установки]  * * * * * * * * * * }
{ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * }
 
А где сама кнопка то - создать новую папку?
 
Добавлено:
NightW0lf
 
И скинь пожалуйсто примерчик на тему установки по выбору
my program1
my program2
а то я чето с твоего скрипта ниче не понял....

Всего записей: 66 | Зарегистр. 11-01-2007 | Отправлено: 02:31 09-02-2007
CapsLosk

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
надо вот так:
 
procedure DirOnClick(Sender: TObject);
var
res: Boolean;
UserSelectDir: String;
begin
UserSelectDir:= WizardForm.DirEdit.Text;
res:= BrowseForFolder('Выберите папку из списка и нажмите «ОК»', UserSelectDir, True);
if res then
begin
WizardForm.DirEdit.Text:= UserSelectDir;
end;
end;
 
procedure InitializeWizard();
begin
WizardForm.DirBrowseButton.OnClick:= @DirOnClick;
end;

Всего записей: 66 | Зарегистр. 11-01-2007 | Отправлено: 09:35 09-02-2007
NightW0lf



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

Цитата:
надо вот так:

Я знаю просто когда код перестраивал потерял:

Код:
 
[code]
procedure InitializeWizard();  
begin  
WizardForm.DirBrowseButton.OnClick:= @DirOnClick;  
end;
 

 
 
Добавлено:
CapsLosk

Цитата:
И скинь пожалуйсто примерчик на тему установки по выбору  
my program1  
my program2  
а то я чето с твоего скрипта ниче не понял....

Лучше ты скинь мне весь свой пример в личку.

Всего записей: 479 | Зарегистр. 08-11-2006 | Отправлено: 15:47 09-02-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 103 104 105 106 107 108

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


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru