Скрипты Inno Setup. Помощь и советы [часть 5]

Ответить
 • Просмотры: 41
Аватара пользователя
AndreY33_80

Re: Скрипты Inno Setup. Помощь и советы [часть 5]

Сообщение AndreY33_80 »

Если стереть секцию задач или сами задачи в ней, то при компиляции выскакивает ошибка.

У меня сейчас при запуске Setup появляется только вот это окно, в котором уже стоит галочука, остаётся только нажать далее...

Нельзя ли как нибудь иммитировать нажатие этой кнопки ?
Аватара пользователя
Johny777

Re: Скрипты Inno Setup. Помощь и советы [часть 5]

Сообщение Johny777 »

Leka_651,

Уважаемая!

предоставьте для начала код всего того что Вы описали для наглядности

код в [more]

Код: Выделить всё

 здесь весь код  
[/more]



sergey3695,

рискну предположить, что иконка - внешний файл и лежит на втором диске

если да, то попробуй записать строку секции файлов отвечающей за копирование иконки первой в секции и положить файл на диск рядом с экзешником инсталла



El Sanchez,

а в принципе не нужно

и без обновления рабочего стола по тестам работает на ура

сам попробуй Изображение (убрал все ограничения. Не проверяется наличие экзешников и ключа реестра)

нововведение - кнопка "параметры"

http://sendfile.su/642570
Аватара пользователя
AndreY33_80

Re: Скрипты Inno Setup. Помощь и советы [часть 5]

Сообщение AndreY33_80 »

Цитата sergey3695:



Никто не знает из-за чего может возникнуть такая ошибка? Кто знает как это исправить?
Скрипты Inno Setup. Помощь и советы [часть 5]




Привет! Знает. Тут 2 варианта (больше не думал Изображение ):

1. Использовать флаг external в секции [Files] для нужных файлов, ну и положить эти файлы на 2 диск (можно в папку).

2. Запаковать нужные файлы в архив и распаковать куда надо в процессе установки. (Ну и естественно удалить их из секции [Files]. Одно но, у этих файлов не будет атрибутов скрытый, системный).
Аватара пользователя
El Sanchez

Re: Скрипты Inno Setup. Помощь и советы [часть 5]

Сообщение El Sanchez »

Цитата nik1967:



Одно но, у этих файлов не будет атрибутов скрытый, системный
Скрипты Inno Setup. Помощь и советы [часть 5]




можно через код после распаковки присвоить им эти значения вот таким макаром:

Скрипты Inno Setup. Помощь и советы [часть 3]
Аватара пользователя
AndreY33_80

Re: Скрипты Inno Setup. Помощь и советы [часть 5]

Сообщение AndreY33_80 »

С ярлыком разобрался, работает. По деинсталятору получается только как вы сказали... Возможно, не надо добавлять лог-файл деинсталлятора unins000.dat в мастер Inno Setup ?
Аватара пользователя
AndreY33_80

Re: Скрипты Inno Setup. Помощь и советы [часть 5]

Сообщение AndreY33_80 »

С деинсталятором тоже разобрался, достаточно не брать unins000.dat и unins000.exe.



Но теперь другая проблемма. Программа после установки только на английском языке.
Аватара пользователя
AndreY33_80

Re: Скрипты Inno Setup. Помощь и советы [часть 5]

Сообщение AndreY33_80 »

Всётаки въехал как все надо делать Изображение



я взял правда другую программу - CDBurnerXP



после долгих поисков у меняя получился следующий скрипт:






читать дальше »


[Setup]



AppId={{82E2DCFD-0A2B-4114-BBD7-65636084DB3F}

AppName=CDBurnerXP

AppVersion=4.1.1

;AppVerName=CDBurnerXP 4.1.1

DefaultDirName={pf}\CDBurnerXP

DefaultGroupName=CDBurnerXP

DisableDirPage=yes

DisableProgramGroupPage=yes

ShowLanguageDialog=no

DisableReadyPage=yes

DisableFinishedPage=yes

OutputDir=C:\Users\ANDREY\Desktop\Output

OutputBaseFilename=CDBurnerXP

Compression=lzma/ultra64

SolidCompression=true

InternalCompressLevel=ultra64



[Languages]

Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"



[Tasks]

Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked



[Files]

Source: "C:\Users\ANDREY\Desktop\Output\CDBurnerXP\cdbxpp.exe"; DestDir: "{app}"; Flags: ignoreversion

Source: "C:\Users\ANDREY\Desktop\Output\CDBurnerXP\audio.ico"; DestDir: "{app}"; Flags: ignoreversion

Source: "C:\Users\ANDREY\Desktop\Output\CDBurnerXP\bass.dll"; DestDir: "{app}"; Flags: ignoreversion

Source: "C:\Users\ANDREY\Desktop\Output\CDBurnerXP\Bass.Net.dll"; DestDir: "{app}"; Flags: ignoreversion

Source: "C:\Users\ANDREY\Desktop\Output\CDBurnerXP\bass_ape.dll"; DestDir: "{app}"; Flags: ignoreversion

Source: "C:\Users\ANDREY\Desktop\Output\CDBurnerXP\bass_mpc.dll"; DestDir: "{app}"; Flags: ignoreversion

Source: "C:\Users\ANDREY\Desktop\Output\CDBurnerXP\basscd.dll"; DestDir: "{app}"; Flags: ignoreversion

Source: "C:\Users\ANDREY\Desktop\Output\CDBurnerXP\bassflac.dll"; DestDir: "{app}"; Flags: ignoreversion

Source: "C:\Users\ANDREY\Desktop\Output\CDBurnerXP\bassmix.dll"; DestDir: "{app}"; Flags: ignoreversion

Source: "C:\Users\ANDREY\Desktop\Output\CDBurnerXP\basswma.dll"; DestDir: "{app}"; Flags: ignoreversion

Source: "C:\Users\ANDREY\Desktop\Output\CDBurnerXP\basswv.dll"; DestDir: "{app}"; Flags: ignoreversion

Source: "C:\Users\ANDREY\Desktop\Output\CDBurnerXP\CDBXP.dll"; DestDir: "{app}"; Flags: ignoreversion

Source: "C:\Users\ANDREY\Desktop\Output\CDBurnerXP\cdbxpcmd.exe"; DestDir: "{app}"; Flags: ignoreversion

Source: "C:\Users\ANDREY\Desktop\Output\CDBurnerXP\cdbxpcmd.exe.config"; DestDir: "{app}"; Flags: ignoreversion

Source: "C:\Users\ANDREY\Desktop\Output\CDBurnerXP\cdbxpcmd.exe.manifest"; DestDir: "{app}"; Flags: ignoreversion

Source: "C:\Users\ANDREY\Desktop\Output\CDBurnerXP\cdbxpp.exe.config"; DestDir: "{app}"; Flags: ignoreversion

Source: "C:\Users\ANDREY\Desktop\Output\CDBurnerXP\cdbxpp.exe.manifest"; DestDir: "{app}"; Flags: ignoreversion

Source: "C:\Users\ANDREY\Desktop\Output\CDBurnerXP\CsLib.dll"; DestDir: "{app}"; Flags: ignoreversion

Source: "C:\Users\ANDREY\Desktop\Output\CDBurnerXP\data.ico"; DestDir: "{app}"; Flags: ignoreversion

Source: "C:\Users\ANDREY\Desktop\Output\CDBurnerXP\Interop.NMSDVDXLib.dll"; DestDir: "{app}"; Flags: ignoreversion

Source: "C:\Users\ANDREY\Desktop\Output\CDBurnerXP\Interop.RocketDivision.StarBurnX.dll"; DestDir: "{app}"; Flags: ignoreversion

Source: "C:\Users\ANDREY\Desktop\Output\CDBurnerXP\iso.ico"; DestDir: "{app}"; Flags: ignoreversion

Source: "C:\Users\ANDREY\Desktop\Output\CDBurnerXP\LogicNP.FileView.dll"; DestDir: "{app}"; Flags: ignoreversion

Source: "C:\Users\ANDREY\Desktop\Output\CDBurnerXP\LogicNP.FolderView.dll"; DestDir: "{app}"; Flags: ignoreversion

Source: "C:\Users\ANDREY\Desktop\Output\CDBurnerXP\LogicNP.ShComboBox.dll"; DestDir: "{app}"; Flags: ignoreversion

Source: "C:\Users\ANDREY\Desktop\Output\CDBurnerXP\Native.CDBXP.manifest"; DestDir: "{app}"; Flags: ignoreversion

Source: "C:\Users\ANDREY\Desktop\Output\CDBurnerXP\Native.CsLib.manifest"; DestDir: "{app}"; Flags: ignoreversion

Source: "C:\Users\ANDREY\Desktop\Output\CDBurnerXP\NMSDVDXU.dll"; DestDir: "{app}"; Flags: ignoreversion

Source: "C:\Users\ANDREY\Desktop\Output\CDBurnerXP\ogg.dll"; DestDir: "{app}"; Flags: ignoreversion

Source: "C:\Users\ANDREY\Desktop\Output\CDBurnerXP\StarBurn.dll"; DestDir: "{app}"; Flags: ignoreversion

Source: "C:\Users\ANDREY\Desktop\Output\CDBurnerXP\StarBurnX12.dll"; DestDir: "{app}"; Flags: ignoreversion

Source: "C:\Users\ANDREY\Desktop\Output\CDBurnerXP\updater.exe"; DestDir: "{app}"; Flags: ignoreversion

Source: "C:\Users\ANDREY\Desktop\Output\CDBurnerXP\updater.exe.config"; DestDir: "{app}"; Flags: ignoreversion

Source: "C:\Users\ANDREY\Desktop\Output\CDBurnerXP\vorbis.dll"; DestDir: "{app}"; Flags: ignoreversion

Source: "C:\Users\ANDREY\Desktop\Output\CDBurnerXP\vorbisfile.dll"; DestDir: "{app}"; Flags: ignoreversion

Source: "C:\Users\ANDREY\Desktop\Output\CDBurnerXP\Resources\*"; DestDir: "{app}\Resources"; Flags: ignoreversion recursesubdirs createallsubdirs

Source: "C:\Users\ANDREY\Desktop\Output\CDBurnerXP\ru-RU\*"; DestDir: "{app}\ru-RU"; Flags: ignoreversion recursesubdirs createallsubdirs





[Icons]

Name: "{group}\CDBurnerXP"; Filename: "{app}\cdbxpp.exe"

Name: "{group}\{cm:UninstallProgram,CDBurnerXP}"; Filename: "{uninstallexe}"

Name: "{commondesktop}\CDBurnerXP"; Filename: "{app}\cdbxpp.exe";



[Registry]

Root: HKCU; SubKey: Software\Canneverbe Limited\CDBurnerXP; ValueType: string; ValueName: AppPath; ValueData: C:\Program Files\CDBurnerXP

Root: HKCU; SubKey: Software\Canneverbe Limited\CDBurnerXP; ValueType: string; ValueName: LastAutoUpdateCheck; ValueData: AAEAAAD/////AQAAAAAAAAAEAQAAAA9TeXN0ZW0uRGF0ZVRpbWUCAAAABXRpY2tzCGRhdGVEYXRhAAAJEM3/eLSxMc8Izf94tLExz4gL

Root: HKCU; SubKey: Software\Canneverbe Limited\CDBurnerXP\frmSelectProject; ValueType: string; ValueName: Size; ValueData: System.Drawing.Size:504,410

Root: HKCU; SubKey: Software\Canneverbe Limited\CDBurnerXP\frmSelectProject; ValueType: string; ValueName: Location; ValueData: System.Drawing.Point:260,164

Root: HKCU; SubKey: Software\Canneverbe Limited\CDBurnerXP\frmSelectProject; ValueType: string; ValueName: WindowState; ValueData: System.Int32:0


Код: Выделить всё


function ShowWindow(hWnd: HWND; nCmdShow: Integer): BOOL; external 'ShowWindow@user32.dll stdcall';



const

BM_CLICK = $00F5;



procedure CurPageChanged(CurPageID: Integer);

begin

ShowWindow(StrToInt(ExpandConstant('{wizardhwnd}')), SW_HIDE);

PostMessage(WizardForm.NextButton.Handle, BM_CLICK, 0, 0);

end;



function GetWindowLong(Wnd: HWnd; Index: Integer): Longint;external 'GetWindowLongA@user32.dll stdcall';

function SetWindowLong(Wnd: HWnd; Index: Integer; NewLong: Longint): Longint;external 'SetWindowLongA@user32.dll stdcall';

//function ShowWindow(hWnd: HWND; nCmdShow: Integer): BOOL; external 'ShowWindow@user32.dll stdcall';



procedure InitializeWizard;

var

TAppHandle: HWND;

begin

TAppHandle:=GetWindowLong(MainForm.Handle,-8);                      

WizardForm.BorderStyle:=bsNone;

WizardForm.Width:=0;

WizardForm.Height:=0;

ShowWindow(TAppHandle,0);                                            

SetWindowLong(TAppHandle,-20,GetWindowLong(TAppHandle,-20) or $80); 

end;
Аватара пользователя
t16bz

Re: Скрипты Inno Setup. Помощь и советы [часть 5]

Сообщение t16bz »

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


читать дальше »




Код:

Код: Выделить всё

procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean );
var
  backup_name, moduly_name, jinnee_dir :string;
begin
      jinnee_dir := ExpandConstant( '{app}{#JINNEE_DIR}' );
// функция BackupDirName возвращает название папки, в которую делается бекап
      backup_name := BackupDirName('');
      moduly_name := ExpandConstant( '{app}{#CLIENT_DIR}' );
      if DirExists(backup_name) then
        begin
          MoveDir(backup_name+'\Модули', moduly_name);
          MsgBox('переместили модули', mbError, MB_OK) 
          MoveDir(backup_name+'\Jinnee', jinnee_dir);
          MsgBox('переместили джинн', mbError, MB_OK)
       end;
end;







папка Модули содержит вложенные папки и остается, а папка Jinnee содержит только файлы и в итоге удаляется.
Аватара пользователя
Johny777

Re: Скрипты Inno Setup. Помощь и советы [часть 5]

Сообщение Johny777 »

Цитата nik1967:



Я как Плюшкин, всё тяну себе - авось когда и пригодиться
Скрипты Inno Setup. Помощь и советы [часть 5]




я тоже

если хочешь дам тебе папку всех кодов какие есть

только в ней порядок сначала навести нужно



Leka_651,

для процедуры отмены попробуй так


читать дальше »




Код:

Код: Выделить всё

[Setup]
AppName=MyAppName
AppVerName=MyAppName
DefaultDirName=MyAppName
[code]
procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean);
begin
  Confirm:=False; /// убираем подтверждение
  sleep(10000);/// заместо этой строки твой процесс бэкапа (копирование)
  Cancel := True; /// после копирования наконец таки выходим из инсталла
end;
Аватара пользователя
t16bz

Re: Скрипты Inno Setup. Помощь и советы [часть 5]

Сообщение t16bz »

t16bz, вот простой пример

читать дальше »


Код:

Код: Выделить всё

#define MyAppName "МояПрограмма"
#define MyAppVersion "1.5"
#define MyAppExeName "MyProg.exe"
[Setup]
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
AllowNoIcons=yes
OutputBaseFilename=setup
Compression=lzma
SolidCompression=yes
[Languages]
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"
[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
[ Code]
var
 TFV: TStartMenuFolderTreeView;
 procedure TFVOnChange(Sender: TObject);
 begin
 WizardForm.GroupEdit.Text:= AddBackslash(TFV.Directory)+'{#MyAppName}';
 end;
procedure InitializeWizard;
begin
 TFV:= TStartMenuFolderTreeView.Create(WizardForm);
 TFV.Top:= WizardForm.GroupEdit.Top+28;
 TFV.Width:= 417;
 TFV.Height:= 100;
 TFV.SetPaths(ExpandConstant('{userprograms}'),ExpandConstant('{commonprograms}'),ExpandConstant('{userstartup}'),ExpandConstant('{commonstartup}'));
 TFV.OnChange:= @TFVOnChange;
 TFV.Parent:= WizardForm.SelectProgramGroupPage;
end;
Ответить

Вернуться в «Автоматическая установка приложений»