Цитата: Не видя кода, победить невозможно.
    [more=листинг] 
 [Files] 
 ; секция временных файлов 
 Source: Libs\isxbb.dll; DestDir: {tmp}; Flags: dontcopy 
 Source: wallp\img2.bmp; DestDir: {tmp}; Flags: dontcopy 
 //Это файлы для слайд-шоу (может быть больше) 
 Source: wallp\1.jpg; DestDir: {tmp}; Flags: dontcopy 
 Source: wallp\2.jpg; DestDir: {tmp}; Flags: dontcopy 
 Source: wallp\3.jpg; DestDir: {tmp}; Flags: dontcopy 
 Source: wallp\4.jpg; DestDir: {tmp}; Flags: dontcopy 
 Source: wallp\5.jpg; DestDir: {tmp}; Flags: dontcopy 
 Source: wallp\6.jpg; DestDir: {tmp}; Flags: dontcopy 
 Source: wallp\7.jpg; DestDir: {tmp}; Flags: dontcopy 
 Source: wallp\8.jpg; DestDir: {tmp}; Flags: dontcopy   
 [CustomMessages] 
 russian.FreeSpace=Доступно места на диске: 
 russian.NeedSpace=Требуется места на диске: 
 english.FreeSpace=Free space on disk: 
 english.NeedSpace=Need space on disk:    
 [Code] 
 var 
 WelcomeLabel1, WelcomeLabel2, FinishedLabel, FinishedHeadingLabel: TLabel; 
 PageNameLabel, PageDescriptionLabel: TLabel;  
 NeedSpaceLabel,FreeSpaceLabel: TLabel; 
 FreeMB, TotalMB: Cardinal; 
 SizeStr: String; 
 SizeInt: Integer; 
 SymbolNumber: Integer;  
 MouseLabel,SiteLabel: TLabel;  
 ProgressLabel, SizeLabel: TLabel;   
 // секция проверки установки библиотек Dokan 
 function InitializeSetup(): Boolean; 
 var 
   res: integer; 
 begin 
   Result := RegKeyExists(HKLM,'SYSTEM\CurrentControlSet\Services\Dokan'); 
   if not Result then 
     begin 
         Result := MsgBox('Правильная работа сборки требует Dokan Lybraries. Хотите установить Dokan Lybraries сейчас?', 
         mbConfirmation, MB_YESNO) = idYes; 
         if Result then 
           Exec(ExpandConstant('{src}\DokanInstall_0.6.0'), '/S', ExpandConstant('{src}'), SW_SHOW, ewWaitUntilTerminated, Res) 
     end; 
 end;  
 // конец секции проверки установки библиотек Dokan   
 const 
 BACKGROUND=6; // "5"-по центру, "6"-растянуто на весь экран, "1,2,3,4"-в разных углах экрана 
 TIMER=16;   
 function isxbb_AddImage(Image: PAnsiChar; Flags: Cardinal): Integer; 
 external 'isxbb_AddImage@files:isxbb.dll stdcall'; 
 function isxbb_Init(hWnd: Integer): Integer; 
 external 'isxbb_Init@files:isxbb.dll stdcall'; 
 function isxbb_StartTimer(Seconds: Integer; Flags: Cardinal): Integer; 
 external 'isxbb_StartTimer@files:isxbb.dll stdcall'; 
 function isxbb_KillTimer(Flags: Cardinal): Integer; 
 external 'isxbb_KillTimer@files:isxbb.dll stdcall';   
 Function NumToStr(Float: Extended): String; 
 Begin 
   Result:= Format('%.2n', [Float]); StringChange(Result, ',', '.'); 
   while ((Result[Length(Result)] = '0') or (Result[Length(Result)] = '.')) and (Pos('.', Result) > 0) do 
   SetLength(Result, Length(Result)-1); 
 End;    
 function GetSize(): Integer; 
 begin 
 SizeStr:= WizardForm.DiskSpaceLabel.Caption; 
 for SymbolNumber:= 97 to 122 do begin 
 while (Pos(Chr(SymbolNumber), SizeStr) > 0) do Delete(SizeStr, Pos(Chr(SymbolNumber), SizeStr),1); //Находим все символы нижнего регистра и удаляем 
 while (Pos(AnsiUppercase(Chr(SymbolNumber)), SizeStr) > 0) do Delete(SizeStr, Pos(AnsiUppercase(Chr(SymbolNumber)), SizeStr),1); end;  //Находим все символы верхнего регистра и удаляем 
 for SymbolNumber:= 192 to 255 do begin 
 while (Pos(Chr(SymbolNumber), SizeStr) > 0) do Delete(SizeStr, Pos(Chr(SymbolNumber), SizeStr),1); end; //Находим все символы нижнего регистра и удаляем 
 while (Pos('.', SizeStr) > 0) do Delete(SizeStr, Pos('.', SizeStr), 1); //Удаляем точки 
 Delete(SizeStr, Pos(',', SizeStr), 5) //Удаляем дробную часть 
 Result:= StrToInt(Trim(SizeStr)); //Переводим в число 
 end;    
 function CompareNum(FirstNum, SecondNum: Integer): Boolean; 
 begin 
 if FirstNum < SecondNum then Result:= False else Result:= True; 
 end;    
 Function MbOrTb(Byte: Extended): String; 
 begin 
 if Byte < 1024 then Result:= NumToStr(Byte) + ' Мб' else 
   if Byte/1024 < 1024 then Result:= NumToStr(round(Byte/1024*100)/100) + ' Гб' else 
      Result:= NumToStr(round((Byte/(1024*1024))*100)/100) + ' Тб' 
 end;   
 procedure SiteLabelOnClick(Sender: TObject);   
 var   
 ErrorCode: Integer;   
 begin   
 ShellExec('open', 'http://www.koreanrandom.com/forum/topic/4372-410-270713-expromt-max-config-4-%D1%81%D0%B1%D0%BE%D1%80%D0%BA%D0%B8-%D0%BC%D0%BE%D0%B4%D0%BE%D0%B2-4-%D1%81%D1%82%D0%B8%D0%BB%D1%8F4-%D0%BA%D0%BE%D0%BD%D1%84%D0%B8%D0%B3%D0%B0-%D0%BE%D0%B1%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BE-%D0%B4/', '', '', SW_SHOWNORMAL, ewNoWait, ErrorCode)   
 end;    
 procedure Progress(); 
 var 
   size: integer;   
 begin 
   with WizardForm.ProgressGauge do 
     ProgressLabel.Caption:= IntToStr((Position-Min)/((Max - Min)/100)) + '%'; 
     FileSize(ExpandConstant(CurrentFileName), size); 
     SizeLabel.Caption:= IntToStr(size) + ' bytes'; 
 end;   
 procedure SiteLabelMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);   
 begin   
 SiteLabel.Font.Color:=clRed   
 end;      
 procedure SiteLabelMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);   
 begin   
 SiteLabel.Font.Color:=clBlue   
 end;      
 procedure SiteLabelMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);   
 begin   
 SiteLabel.Font.Color:=clGreen   
 end;      
 procedure SiteLabelMouseMove2(Sender: TObject; Shift: TShiftState; X, Y: Integer);   
 begin   
 SiteLabel.Font.Color:=clBlue   
 end;      
 procedure GetFreeSpaceCaption(Sender: TObject); 
 var Path: String; 
 begin 
   Path := ExtractFileDrive(WizardForm.DirEdit.Text); 
   GetSpaceOnDisk(Path, True, FreeMB, TotalMB); 
   FreeSpaceLabel.Caption:= ExpandConstant('{cm:FreeSpace} ') + MbOrTb(FreeMB) 
   NeedSpaceLabel.Caption := ExpandConstant('{cm:NeedSpace} ') + MbOrTb(SizeInt) 
 if WizardForm.CurPageID = wpSelectDir then begin 
   WizardForm.NextButton.Enabled:= CompareNum(FreeMB, SizeInt) 
 end; 
 end;     
 procedure InitializeWizard(); 
 begin 
 //секция слайд щоу 
 ExtractTemporaryFile('1.jpg'); //1.jpg-это фоновый рисунок, он показывается как в начале, так и в конце установки 
 isxbb_AddImage(ExpandConstant('{tmp}')+'\1.jpg',BACKGROUND); 
 isxbb_Init(StrToInt(ExpandConstant('{hwnd}')));   
 begin 
 with WizardForm do begin 
 with MainPanel do 
 Height := Height - 1; 
 with WizardSmallBitmapImage do begin 
 Left := 0; 
 Top := 0; 
 Height := 55; //Размер рисунка 
 Width := 500; // 
 end; 
 with PageNameLabel do begin 
 Width := Width - 497; //Поставить здесь значения 0, если нужно вернуть текст 
 Left := Left + 497; // 
 end; 
 with PageDescriptionLabel do begin 
 Width := Width - 497; //Поставить здесь значения 0, если нужно вернуть текст 
 Left := Left + 497; // 
 end; 
 end; 
 end; 
 // конец слайд шоу   
 // секция кликабельной ссылки 
 MouseLabel:=TLabel.Create(WizardForm)   
 MouseLabel.Width:=WizardForm.Width   
 MouseLabel.Height:=WizardForm.Height   
 MouseLabel.Autosize:=False   
 MouseLabel.Transparent:=True   
 MouseLabel.OnMouseMove:=@SiteLabelMouseMove2   
 MouseLabel.Parent:=WizardForm      
 SiteLabel:=TLabel.Create(WizardForm)   
 SiteLabel.Left:=10   
 SiteLabel.Top:=330   
 SiteLabel.Cursor:=crHand   
 SiteLabel.Font.Color:=clBlue   
 SiteLabel.Caption:='EXPROMT_MAX config'   
 SiteLabel.OnClick:=@SiteLabelOnClick   
 SiteLabel.OnMouseDown:=@SiteLabelMouseDown   
 SiteLabel.OnMouseUp:=@SiteLabelMouseUp   
 SiteLabel.OnMouseMove:=@SiteLabelMouseMove   
 SiteLabel.Parent:=WizardForm   
 // конец кликабельной ссылки   
 // секция вычисления процентов установки 
   ProgressLabel := TLabel.Create(WizardForm); 
   with WizardForm.ProgressGauge do 
     begin 
       ProgressLabel.Top := Top + Height + ScaleY(8); 
       ProgressLabel.Left:= Left + Width/2 - ScaleX(8); 
       ProgressLabel.AutoSize := True; 
       ProgressLabel.Parent := WizardForm.InstallingPage; 
     end;   
   SizeLabel := TLabel.Create(WizardForm); 
   with WizardForm.ProgressGauge do 
     begin 
       SizeLabel.Top := Top + Height + ScaleY(8); 
       SizeLabel.Left:= Left; 
       SizeLabel.AutoSize := True; 
       SizeLabel.Parent := WizardForm.InstallingPage; 
     end; 
 // конец процентов вычисления 
 WizardForm.DiskSpaceLabel.Hide; 
 #ifdef NeedSize 
 SizeInt:= {#NeedSize} 
 #else 
 SizeInt:= GetSize; 
 #endif  
 ExtractTemporaryFile('img2.bmp');   
 WizardForm.WizardSmallBitmapImage.SetBounds(ScaleX(0), ScaleY(0), WizardForm.MainPanel.Width, WizardForm.MainPanel.Height);   
 WizardForm.WizardBitmapImage.Width:= ScaleX(497); 
 WizardForm.WizardBitmapImage2.Width:= ScaleX(497); 
 WizardForm.WizardBitmapImage2.Bitmap.LoadFromFile(ExpandConstant('{tmp}\img2.bmp'));   
 PageNameLabel:= TLabel.Create(WizardForm) 
 with WizardForm.PageNameLabel do 
 PageNameLabel.SetBounds(Left, Top, Width, Height); 
 PageNameLabel.Transparent:= True; 
 PageNameLabel.Font:= WizardForm.PageNameLabel.Font; 
 PageNameLabel.Font.Color:= clWhite;  //цвет надписи 
 PageNameLabel.Parent:= WizardForm.MainPanel;    
 PageDescriptionLabel:= TLabel.Create(WizardForm) 
 with WizardForm.PageDescriptionLabel do 
 PageDescriptionLabel.SetBounds(Left, Top, Width, Height); 
 PageDescriptionLabel.Transparent:= True; 
 PageDescriptionLabel.Font:= WizardForm.PageDescriptionLabel.Font; 
 PageDescriptionLabel.Font.Color:= clWhite;  //цвет надписи 
 PageDescriptionLabel.Parent:= WizardForm.MainPanel;     
 WelcomeLabel1:= TLabel.Create(WizardForm); 
 WelcomeLabel1.AutoSize:= False; 
 with WizardForm.WelcomeLabel1 do 
 WelcomeLabel1.SetBounds(Left, Top, Width, Height); 
 WelcomeLabel1.Font:= WizardForm.WelcomeLabel1.Font 
 WelcomeLabel1.Font.Color:= clWhite;  //цвет надписи 
 WelcomeLabel1.Transparent:= True; 
 WelcomeLabel1.WordWrap:= true; 
 WelcomeLabel1.Caption:= WizardForm.WelcomeLabel1.Caption; 
 WelcomeLabel1.Parent:= WizardForm.WelcomePage    
 WelcomeLabel2:= TLabel.Create(WizardForm); 
 WelcomeLabel2.AutoSize:= False; 
 with WizardForm.WelcomeLabel2 do 
 WelcomeLabel2.SetBounds(Left, Top, Width, Height); 
 WelcomeLabel2.Font:= WizardForm.WelcomeLabel2.Font 
 WelcomeLabel2.Font.Color:= clWhite;  //цвет надписи 
 WelcomeLabel2.Transparent:= True; 
 WelcomeLabel2.WordWrap:= true; 
 WelcomeLabel2.Caption:= WizardForm.WelcomeLabel2.Caption; 
 WelcomeLabel2.Parent:= WizardForm.WelcomePage    
 FinishedHeadingLabel:= TLabel.Create(WizardForm); 
 FinishedHeadingLabel.AutoSize:= False; 
 with WizardForm.FinishedHeadingLabel do 
 FinishedHeadingLabel.SetBounds(Left, Top, Width, Height); 
 FinishedHeadingLabel.Font:= WizardForm.FinishedHeadingLabel.Font 
 FinishedHeadingLabel.Font.Color:= clWhite;  //цвет надписи 
 FinishedHeadingLabel.Transparent:= True; 
 FinishedHeadingLabel.WordWrap:= true; 
 FinishedHeadingLabel.Caption:= WizardForm.FinishedHeadingLabel.Caption; 
 FinishedHeadingLabel.Parent:= WizardForm.FinishedPage    
 FinishedLabel:= TLabel.Create(WizardForm); 
 FinishedLabel.AutoSize:= False; 
 with WizardForm.FinishedLabel do 
 FinishedLabel.SetBounds(Left, Top, Width, Height); 
 FinishedLabel.Font:= WizardForm.FinishedLabel.Font 
 FinishedLabel.Font.Color:= clWhite;  //цвет надписи 
 FinishedLabel.Transparent:= True; 
 FinishedLabel.WordWrap:= true; 
 FinishedLabel.Caption:= WizardForm.FinishedLabel.Caption; 
 FinishedLabel.Parent:= WizardForm.FinishedPage   
 WizardForm.PageNameLabel.Hide; 
 WizardForm.PageDescriptionLabel.Hide;   
 WizardForm.WelcomeLabel1.Hide; 
 WizardForm.WelcomeLabel2.Hide; 
 WizardForm.FinishedLabel.Hide; 
 WizardForm.FinishedHeadingLabel.Hide; 
 NeedSpaceLabel := TLabel.Create(WizardForm); 
 NeedSpaceLabel.SetBounds(ScaleX(0), ScaleY(198), ScaleX(209), ScaleY(13)) 
 NeedSpaceLabel.Parent := WizardForm.SelectDirPage; 
 NeedSpaceLabel.Transparent:=true;    
 FreeSpaceLabel := TLabel.Create(WizardForm); 
 FreeSpaceLabel.SetBounds(ScaleX(0), ScaleY(216), ScaleX(209), ScaleY(13)) 
 FreeSpaceLabel.Parent := WizardForm.SelectDirPage; 
 FreeSpaceLabel.Transparent:=true;    
 WizardForm.DirEdit.OnChange:= @GetFreeSpaceCaption; 
 WizardForm.DirEdit.Text:= WizardForm.DirEdit.Text + #0;  
 end;    
 procedure CurPageChanged(CurPageID: Integer); 
 begin 
 PageNameLabel.Caption:= WizardForm.PageNameLabel.Caption; 
 PageDescriptionLabel.Caption:= WizardForm.PageDescriptionLabel.Caption;  
 FinishedLabel.Caption:= WizardForm.FinishedLabel.Caption; 
 if CurPageID = wpSelectDir then begin 
   GetFreeSpaceCaption(nil) 
 end;  
 end;   
 procedure CurStepChanged(CurStep: TSetupStep); 
 begin 
 if CurStep=ssInstall 
 then 
 begin 
 ExtractTemporaryFile('2.jpg'); //это файлы для слайд-шоу, их может быть и больше 
 ExtractTemporaryFile('3.jpg'); 
 ExtractTemporaryFile('4.jpg'); 
 isxbb_AddImage(ExpandConstant('{tmp}')+'\2.jpg',BACKGROUND or TIMER); 
 isxbb_AddImage(ExpandConstant('{tmp}')+'\3.jpg',BACKGROUND or TIMER); 
 isxbb_AddImage(ExpandConstant('{tmp}')+'\4.jpg',BACKGROUND or TIMER); 
 isxbb_Init(StrToInt(ExpandConstant('{hwnd}'))); 
 isxbb_StartTimer(3,BACKGROUND) //это таймер для слайд-шоу в секундах 
 end 
 else if CurStep=ssPostInstall then 
 isxbb_KillTimer(BACKGROUND); 
 begin 
 with WizardForm do 
 end 
 end; 
 [/more]    
Цитата: trolltmn {src} это что библеотека должна лежать возле setup 
    это я понимаю, но хотелось бы поместить DokanInstall_0.6.0.exe в тело инсталлятора, и запускать его из тела инсталлятора. ведь всегда найдется тот кто запустит забыв что у него библиотек нет. и на выходе получит ошибку. Не разобравшись начнет кричать о том что ничего не работает и все плохо.    
 Стараюсь учесть все аспекты