Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » [архив] Inno Setup .:[все вопросы]:.

Закрытая тема
Настройки темы
[архив] Inno Setup .:[все вопросы]:.

Новый участник


Сообщения: 6
Благодарности: 2

Профиль | Отправить PM | Цитировать


Изменения
Автор: volk1234
Дата: 27-08-2009
Описание: перевел в архив
Лимит страниц.
Тема закрыта.
продолжаем тут:

Inno Setup. Обсуждение установщика

Скрипты Inno Setup. Помощь и советы



Полезные ресурсы:
Официальный сайт| Inno Setup 5.2.3 RU
Русская справка |Зеракало 1| Зеракало 2
ISTool 5.30 |Русификатор
Русификатор ISTool |Зеркало 1|Зеркало 2
Inno Setup Script Generator |Зеркало 1
Unpaker 2.1 от 21.04.2009 - распаковывает инсталляторы, созданные с помощью Inno Setup, начиная с версии 2.0.18 по 5.2.4.
InnoUnpaker 2.6b3 [от valeron87]- можнет просмотривать содержание CompiledCode.bin
Unpaker 0.23 - расширенная китайская версия 2008-08-08 ( модификация)
Unpacker 0.24 | Зеркало 1 | Зеркало 2 - Inno Setup Unpacker (innounp plus) - расширенная версия распаковщика инсталляторов Inno Setup начиная с версии 2.0.8 по 5.3.0 Beta. Поддерживаются версии Unicode. Русифицирована. Последний релиз: 0.24 [23.05.2009]
Набор Restools
Restools - расширенная версия Inno Setup от китайских разработчиков, добавляет вашему инсталлятору новые возможности по оформлению, а также более удобный редактор скриптов (требуется наличие установленного Preprocessor'а).
Последние версии разработок от Restools:
InnoCompiler090319_English - в него входят файлы: Compil32.exe и Templates.dat;
Inno_ISCmplr_Setup090302 - в него входят файлы, лучше из папки InnoSetup_FullVCL: setup.e32, ISCmplr.dls, ISCmplr.dll и SetupLdr.e32.
InnoCompiler090319_Russian - Русский перевод (80%) от tem000 - NEW !

QuickStart Pack - Inno Setup + Preprocessor (последняя версия ispack-5.2.4-dev)
"Всё в одном" от unikum111
читать дальше »

Цитата unikum111:
В сборку входят следующие компоненты:
Inno Setup compiler 5.2.2 русская версия;
ISTool 5.2.1 русская версия;
Inno Script Generator английская версия;
Inno Setup Unpacker Explorer 1.0 аглийская версия;
Примечание: в Inno Setup Unpacker Explorer 1.0 заменён innounp.exe на тестовую версию 2.0, так что распаковывает инсталляторы вплоть до версии 5.2.2.
Есть возможность выбора компонентов.
Скачать: ifolder, RapidShare, iBox (Размер: 5.34 Mb).»



Полезные мелочи для Inno Setup:

- Converter v.0.1.2 - конвертор REG- файлов в формат скриптов Inno от Serega_ -новая версия
- Как убрать страницу приветствия (wpWelcome) в мастере установки приложения:
- Примеры скриптов на паскале
- Inno Setup Addon 0.07 For Total Commander
- Параметры командной строки инсталляторов InnoSetup:

Код: Выделить весь код
/SP-
Отключает страницу "Эта программа установит... Вы хотите продолжить?" инсталятора. 
Выполнится только если DisableStartupPrompt секции [Setup] равна yes. 

/SILENT, /VERYSILENT  
Установка в ускоренном или очень ускоренном режиме. При установке в ускоренном режиме 
окно мастера и фоновое окно мастера не отображаются, отображается только окно прогресса. 
При очень ускоренной установке окно прогресса тоже не отображается. Остальная установка 
проходит как обычно - отображаются сообщения об ошибках в ходе установки, страница 
приветствия (если ее отображение не отменено директивой DisableStartupPrompt или 
параметром '/SP-' командной строки).

Если после установки необходима перезагрузка, команды '/NORESTART' не дано и установка 
проходит в ускоренном режиме, появится сообщение "Перезагрузить компьютер?". Если режим 
установки очень ускоренный, система перезагрузится не спрашивая.

/LOG 
Указывает инсталятору создать log-файл в папке TEMP для подробного отчета о действиях 
и событиях в секции [Run], предпринятых в ходе установки. Применяется при отслеживании 
ошибок. Например, если вы подозреваете, что файл не был удален, хотя должен был, 
log-файл сообщит, что файл былдействительно пропущен и почему. 

log-файлу присваивается уникальное имя на базе текущей даты. (Существующие файлы не 
перезаписываются и не дополняются). 
Информация, содержащаяся в log-файле, техническая и поэтому не может быть понята 
пользователем. 

/LOG="filename" 
Параметр похож на /LOG, но в отличие от него позволяет указать фиксированный
путь/имя файла для log-файла. Если файл с указанным именем уже существует, он будет 
заменен. Если файл не может быть создан, установка прервется и выдаст сообщение 
об ошибке.

/NOCANCEL  
Не дает пользователю прервать установку, отключая кнопку Отменить и игнорируя клики на 
кнопке Закрыть. Используется в комбинации с '/SILENT' или '/VERYSILENT'. 

/NORESTART 
Указывает инсталятору не перезагружать компьютер даже если это необходимо. 

/RESTARTEXITCODE=exit code  
Задает инсталятору код, который он должен возвратить, если необходима перезагрузка. 
Используется с '/NORESTART'.
См. также Коды выхода инсталятора. (кому интерестно, могу выложить или же доступно в хелпе)

/LOADINF="filename" 
Указывает инсталятору загрузить параметры установки из указанного файла после проверки 
командной строки. Этот файл может быть подготовлен с помощью '/SAVEINF='command.
Не забудьте ставить кавычки при использовании имен, содержащих пробелы. 

/SAVEINF="filename" 
Указывает инсталятору сохранять параметры установки в указанный файл.
Не забудьте ставить кавычки при использовании имен, содержащих пробелы. 

/LANG=language 
Задает используемый язык. language задает имя языка, заданного в параметре секции 
[Languages]. При использовании параметра /LANG появляется диалог Выбор языка установки.

/DIR="x:\dirname" 
Меняет имя папки, заданное по умолчанию, на странице Выбор папки назначения. 
Должен быть задан полный путь. 

/GROUP="folder name" 
Меняет имя папки на странице Выбор папки меню Пуск. Если директива 
DisableProgramGroupPage секции [Setup] равна yes, этот параметр командной строки 
игнорируется. 

/NOICONS 
Указывает инсталятору проверять, выбрана ли команда Не создавать значков на странице 
Выбор папки меню Пуск. 

/COMPONENTS="comma separated list of component names" 
Меняет выбраные по умолчанию компоненты. В этом случае параметр командной строки 
указывает инсталятору менять тип установки на Выборочный. 

/PASSWORD=password  Задает пароль. Если не указана директива Password секции [Setup], 
этот параметр игнорируется. Если введен неправильный пароль, параметр 
также игнорируется.

Отправлено: 21:42, 17-03-2005

 

Новый участник


Сообщения: 13
Благодарности: 0

Профиль | Отправить PM | Цитировать


Вложения
Тип файла: 7z AutoRun.7z
(118.0 Kb, 39 просмотров)

и еще Serega не мог бы вот это доделать? вотЪ

Отправлено: 23:43, 10-08-2009 | #1271



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Mihail88

Новый участник


Сообщения: 18
Благодарности: 4

Профиль | Отправить PM | Цитировать


serg aka lain не устаю благодарить
Тоже пользуюсь ResHacker'om ещё Res.Tuner не плох.
В общем буду разбератся.

Отправлено: 00:05, 11-08-2009 | #1272


Ветеран


Сообщения: 1133
Благодарности: 581

Профиль | Отправить PM | Цитировать


Изображения
Тип файла: jpg ScreenShot2File_40.jpg
(138.5 Kb, 45 просмотров)

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

Цитата zl0ybot:
и еще Serega не мог бы вот это доделать? »
Вообще-то это я и делал, только для примера, а то говорили, что такое на Inoo Setup не сделаешь...
Что конкретно вам в нём не понятно?

Цитата serg aka lain:
Ну, можно взглянуть в файл Setup.e32 в папке Inno, с помощью редактора ресурсов (ResHacker , etc) TWIZARDFORM
или вот готовый »
Согласен, а я пользуюсь редактором от Restools.
Допустим пишем в коде WizardForm, ставим точку и через секунду появляется список с возможными вариантами для WizardForm. Прикрепил к сообщению скриншот, как это всё выглядит...

-------
Книги нужны, чтобы напоминать человеку, что его оригинальные мысли не так уж новы... Авраам Линкольн.


Отправлено: 05:51, 11-08-2009 | #1273


Аватара для x-net

Старожил


Сообщения: 288
Благодарности: 16

Профиль | Отправить PM | Цитировать



Скажите как это убрать? и ещё не запускается с галочки в конце установки
Код в вложении

Последний раз редактировалось x-net, 02-12-2011 в 18:40.


Отправлено: 08:48, 11-08-2009 | #1274


Новый участник


Сообщения: 13
Благодарности: 0

Профиль | Отправить PM | Цитировать


Serega что бы она работала я как понял ты сделал его для показа а надо что бы работали функции устоновить/удалить
после установки работала кнопка играть и т.д. И еще вот скрипт
читать дальше »
#define MainExe "{app}\Bully.exe"
#define GDFBinary "{app}\Bully.exe"

[Setup]
AppName=Bully
AppVerName=Bully 1.00.0154
DefaultDirName={pf}\Bully
OutputDir=Output
Compression=none
DisableReadyPage=true
InternalCompressLevel=ultra64
SolidCompression=true
ArchitecturesInstallIn64BitMode=x64
ArchitecturesAllowed=x64 x86
RestartIfNeededByRun=false
UsePreviousAppDir=false
DirExistsWarning=no
DisableProgramGroupPage=true
DefaultGroupName=Bully
UsePreviousGroup=false
UsePreviousSetupType=false
UsePreviousTasks=false
UninstallFilesDir={app}\Uninstall
WizardImageFile=WizardImage.bmp

[Files]
Source: arc.exe; DestDir: {tmp}; Flags: dontcopy
Source: GameuxInstallHelper.dll; DestDir: {app}\Uninstall; Flags: overwritereadonly ignoreversion
Source: {src}\Gamedata\*; Destdir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs external
Source: Bully.exe; DestDir: {app}
Source: msvcp71.dll; DestDir: {app}
Source: msvcr71.dll; DestDir: {app}
Source: version.cfg; DestDir: {app}
Source: Readme.txt; DestDir: {app}
[Languages]
Name: rus; MessagesFile: compiler:Languages\Russian.isl

[Messages]
SelectDirBrowseLabel=Нажмите «Установить», чтобы начать установку. Если Вы хотите выбрать другую папку, нажмите «Обзор».
BeveledLabel=RepacK by leek
[LangOptions]
WelcomeFontName=Tahoma
WelcomeFontSize=11

[Registry]
Root: HKLM; SubKey: SOFTWARE\Rockstar Games\Bully Scholarship Edition; ValueType: dword; ValueName: Language; ValueData: $00000419
Root: HKLM; SubKey: SOFTWARE\Rockstar Games\Bully Scholarship Edition; ValueType: string; ValueName: SerialNum; ValueData: 0000-0000-0000-0000
Root: HKLM; SubKey: SOFTWARE\Rockstar Games\Bully Scholarship Edition; ValueType: string; ValueName: Version; ValueData: 1.00.0154


[Run]
Filename: {app}\Bully.exe; WorkingDir: {app}\; Description: Начать игру; Flags: postinstall
Filename: {src}\DirectX\DXSETUP.exe; Parameters: /silent; StatusMsg: Обновление:Microsoft DirectX 9.0c...; Check: InstallDirectX
Filename: {src}\Redistributables\vcredist_x86.exe; Parameters: "/q:a /c:""VCREDI~3.EXE /q:a /c:""""msiexec /i vcredist.msi /qn"""" """; StatusMsg: Обновление:Microsoft Visual C++ 2005...; Check: InstallDirectX

[Icons]
Name: {group}\Bully; Filename: {app}\Bully.exe; WorkingDir: {app}\
Name: {group}\ReadMe; Filename: {app}\ReadMe.txt
Name: {group}\Удалить игру; Filename: {uninstallexe}
Name: {commondesktop}\Bully; Filename: {app}\Bully.exe; WorkingDir: {app}\; Check: MakeDesktopIcon

[UninstallDelete]
Name: {app}\*; Type: filesandordirs

[code]
type
TGUID = record
Data1: Cardinal;
Data2,
Data3: Word;
Data4: array [0..8] of char;
end;

function GenerateGUID(var GUID: TGUID): Cardinal; external 'GenerateGUID@files:GameuxInstallHelper.dll stdcall setuponly';
function AddToGameExplorer(Binary: String; Path: String; InstallType: Integer; var GUID: TGUID): Cardinal; external 'AddToGameExplorerA@files:GameuxInstallHelper.dll stdcall setuponly';
function CreateTask(InstallType: Integer; var GUID: TGUID; TaskType: Integer; TaskNumber: Integer; TaskName: String; Binary: String; Parameters: String): Cardinal; external 'CreateTaskA@files:GameuxInstallHelper.dll stdcall setuponly';
function RetrieveGUIDForApplication(Binary: String; var GUID: TGUID): Cardinal; external 'RetrieveGUIDForApplicationA@{app}\Uninstall\GameuxInstallHelper.dll stdcall uninstallonly';
function RemoveFromGameExplorer(var GUID: TGUID): Cardinal; external 'RemoveFromGameExplorer@{app}\Uninstall\GameuxInstallHelper.dll stdcall uninstallonly';
function RemoveTasks(var GUID: TGUID): Cardinal; external 'RemoveTasks@{app}\Uninstall\GameuxInstallHelper.dll stdcall uninstallonly';

const
PlayTask = 0;
SupportTask = 1;

var
NeedSize:Integer;
FreeMB, TotalMB: Cardinal;
NeedSpaceLabel,FreeSpaceLabel: TLabel;
DesktopIcon, DirectX: TCheckBox;
GUID: TGUID;
ProgressBar1: TNewProgressBar;
/////Вычисление свободного места на диске
procedure GetFreeSpaceCaption(Sender: TObject);
var
Path: String;
begin
Path := ExtractFileDrive(WizardForm.DirEdit.Text);
GetSpaceOnDisk(Path, True, FreeMB, TotalMB);
if FreeMB > 1024 then
FreeSpaceLabel.Caption := 'Доступно места на диске: '+ FloatToStr(round(FreeMB/1024*100)/100) + ' GB' else
FreeSpaceLabel.Caption := 'Доступно места на диске: '+ IntToStr(FreeMB)+ ' MB';
if FreeMB < NeedSize then
WizardForm.NextButton.Enabled := False else
WizardForm.NextButton.Enabled := True; end;

procedure animateprogress;
begin ProgressBar1.Position := ProgressBar1.Position+1
end;

procedure GetNeedSpaceCaption; /////Вычисление требуемого места для установки
begin
if NeedSize > 1024 then
NeedSpaceLabel.Caption := 'Требуется места на диске: '+ FloatToStr(round(NeedSize/1024*100)/100) + ' GB' else
NeedSpaceLabel.Caption := 'Требуется места на диске: '+ IntToStr(NeedSize)+ ' MB';end;

function MakeDesktopIcon: Boolean;
begin
Result:=DesktopIcon.Checked;end;

function InstallDirectX: Boolean;
begin
Result:=DirectX.Checked;end;

procedure InitializeWizard();
begin
begin
NeedSize := 4210; //Здесь указывается место для приложения
WizardForm.DiskSpaceLabel.Hide;
WizardForm.FilenameLabel.Hide;
WizardForm.ProgressGauge.Top:=ScaleY(100); //Изменение стандартного прогрессбара
WizardForm.ProgressGauge.Width:=262; //
WizardForm.ProgressGauge.Left:=155; //
WizardForm.StatusLabel.Top:=ScaleY(80);
WizardForm.WelcomeLabel2.Top:=ScaleY(90);
NeedSpaceLabel := TLabel.Create(WizardForm);
with NeedSpaceLabel do
begin
Parent := WizardForm.SelectDirPage;
Left := ScaleX(0);
Top := ScaleY(202);
Width := ScaleX(209);
Height := ScaleY(13);
end;
end;
FreeSpaceLabel := TLabel.Create(WizardForm);
with FreeSpaceLabel do
begin
Parent := WizardForm.SelectDirPage;
Left := ScaleX(0);
Top := ScaleY(220);
Width := ScaleX(209);
Height := ScaleY(13);
end;
WizardForm.DirEdit.OnChange := @GetFreeSpaceCaption;
WizardForm.DirEdit.Text := WizardForm.DirEdit.Text + #0;
begin //Создание чекбокса для создания ярлыка на рабочем столе
DesktopIcon := 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;
begin //Создание чекбокса для установки DirectX
DirectX := TCheckBox.Create(WizardForm);
with DirectX do
begin
Parent := WizardForm.SelectDirPage;
Caption := 'Установить дополнительное программное обеспечение';
Left := ScaleX(0);
Top := WizardForm.DirEdit.Top+55;
Width := ScaleX(400);
Height := ScaleY(15);
TabOrder := 0;
Checked := True;
end;
end;
begin ///Создание нового прогрессбара
ProgressBar1 := TNewProgressBar.Create(wizardform);
with ProgressBar1 do
begin
Parent := wizardform.installingpage;
Top := 100
Width := 150;
Height := wizardform.progressgauge.height;
Max :=3; //кол-во архивов
end;
end;
end;

procedure CurPageChanged(CurPageID: Integer);
begin
begin
if CurPageID=wpSelectDir then
begin //Тут если Свободное место на диске < требуемого то кнопка "Установвить" на PageSelectDir неактивна
GetNeedSpaceCaption;
if FreeMB < NeedSize then
WizardForm.NextButton.Enabled:=False
WizardForm.NextButton.Caption:='Установить'; //Rename кнопки "Далее" на SelectDir
end;
end;
end;

procedure CurStepChanged(CurStep: TSetupStep); ///Регистрация в GameExplorer
var
Binary, MainExe: String;
ResultCode:Integer;
begin
if CurStep = ssInstall then //Перед установкой
begin
GenerateGUID(GUID);
ExtractTemporaryFile('arc.exe'); //Извлечение Arc.exe в Temp
if (FileExists(AddBackslash(ExpandConstant('{tmp}')) + 'arc.exe')) and (FileExists(AddBackslash(ExpandConstant('{src}')) + 'data-a.bin')) then
begin
WizardForm.StatusLabel.Caption:='Распаковка файлов...'; //Извлечение из 1-го архива
Exec(ExpandConstant('{tmp}\Arc.exe'), 'x '+AddQuotes(ExpandConstant('{src}\data-a.bin'))+' -y -dp'+AddQuotes(ExpandConstant('{app}')), '', SW_HIDE, ewWaitUntilTerminated, ResultCode);
ProgressBar1.Position := ProgressBar1.Position+1

WizardForm.StatusLabel.Caption:='Распаковка файлов...'; //Извлечение из 2-го архива
Exec(ExpandConstant('{tmp}\Arc.exe'), 'x '+AddQuotes(ExpandConstant('{src}\data-b.bin'))+' -y -dp'+AddQuotes(ExpandConstant('{app}')), '', SW_HIDE, ewWaitUntilTerminated, ResultCode);
ProgressBar1.Position := ProgressBar1.Position+1

WizardForm.StatusLabel.Caption:='Распаковка файлов...'; //Извлечение из 3-го архива
Exec(ExpandConstant('{tmp}\Arc.exe'), 'x '+AddQuotes(ExpandConstant('{src}\data-c.bin'))+' -y -dp'+AddQuotes(ExpandConstant('{app}')), '', SW_HIDE, ewWaitUntilTerminated, ResultCode);
ProgressBar1.Position := ProgressBar1.Position+1

end else begin
MsgBox('Исполняемый файл:' + #13#10#13#10 + (AddBackslash(ExpandConstant('{tmp}')) + 'arc.exe') + #13#10#13#10 + 'не найден. Установка отменена', mbInformation, MB_OK);
Abort;
end;
end;
if CurStep = ssPostInstall then
begin
Binary:=ExpandConstant('{#GDFBinary}');
MainExe:=ExpandConstant('{#MainExe}');
AddToGameExplorer(Binary, ExpandConstant('{app}'), 3, GUID);
CreateTask(3, GUID, PlayTask, 0, 'Play', MainExe, '');
end;
end;

function InitializeSetup(): Boolean;
var
UnStr: String;
ErrorCode, Mesages: Integer;
begin //Повторный запуск
Result := True;
if RegQueryStringValue(HKEY_LOCAL_MACHINE, 'Software\Microsoft\Windows\CurrentVersion\Uninstall\Bully_is1', 'UninstallString', UnStr) then
begin
If UnStr <> '' then
begin
Mesages := MsgBox('Bully уже установлена в Вашей системе.'+#10#10+'Хотите удалить приложение?', mbInformation, MB_YESNOCANCEL);
case Mesages of
idYes:
begin
UnStr := RemoveQuotes(UnStr);
Exec(UnStr, '/silent', '', SW_Show, ewWaitUntilTerminated, ErrorCode);
Result := True;
end
idNo:
begin
Result := True;
end
idCancel:
begin
Result := False;
end;
end;
end;
end;
end;

procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
var
ResultStr:String;
Binary: String;
GUID: TGUID;
begin /////////////////////////////////////////Удаление игровых сохранений
if CurUninstallStep=usPostUninstall then
begin
RegQueryStringValue(HKLM, 'Software\Microsoft\Windows\CurrentVersion\Uninstall\Bully_is1', 'UnInstConfirm', ResultStr)
if DirExists(ExpandConstant('{userdocs}')+'\Prince of Persia') then
if MsgBox('Удалить сохраненные игры и настройки?',mbconfirmation, mb_YesNo) = IDYES then
begin
if not DelTree(ExpandConstant('{userdocs}')+'\Bully', True, True, True)
then
MsgBox('Папка не удалена!' #13#13 'Папка не существует или задействована.', mbError, MB_OK);
end;
end;
begin
if CurUninstallStep=usUninstall then //Удаление из GameExplorer
begin
Binary:=ExpandConstant('{#GDFBinary}');
RetrieveGUIDForApplication(Binary, GUID);
RemoveFromGameExplorer(GUID);
RemoveTasks(GUID);
UnloadDll(ExpandConstant('{app}\Uninstall\GameuxInstallHelper.dll'));
end;
end;
end;
можно ли отсюда вынуть весь мусор только что бы осталось распаковка freearc'а и progressbar (оба)

Последний раз редактировалось zl0ybot, 11-08-2009 в 10:25.


Отправлено: 09:46, 11-08-2009 | #1275


Аватара для FlatX007

Ветеран


Сообщения: 553
Благодарности: 87

Профиль | Отправить PM | Цитировать


Доброго времени суток. Вопрос такой ...

Есть некий инсталятор, его единственная задача дополнить unins000.dat списком новых файлов, что бы они удалились деинстилятором. Как мне сделать сторонный модуль (скрипт) что бы в нём указать файлы для секции
Код: Выделить весь код
[UninstallDelete]
, это нужно для того чтобы каждый раз не "перепаковывать" экзэшник.

Отправлено: 16:40, 11-08-2009 | #1276


Новый участник


Сообщения: 10
Благодарности: 0

Профиль | Отправить PM | Цитировать


Помогите плиз с кодом. Нужно сделать некоторые вещи, но не знаю как.
1)Как заставить инсталяшку не оставлять след в установке-удалении программ
2)Встал вопрос с правами. При обновлении файла сбрасываются права на файл. Как их можно сохранить?
3) Ну и самое интересное. Нужно перед инсталляцией (обновлением) сделать бэкап файлов с сохранением прав на эти файлы.

Код: Выделить весь код
[Setup]
AppName=Обновление для программы заказа продукции фирмы ЗАО"Арнебия"
AppVerName=Обновление для программы заказа продукции фирмы ЗАО"Арнебия" ver. 0.1
AppPublisher=Arnebia Inc
AppPublisherURL=http://www.arnebia.ru/
AppSupportURL=http://www.arnebia.ru/
AppUpdatesURL=http://www.arnebia.ru/
DefaultDirName={reg:HKLM\SOFTWARE\Arnebia,AppPath|{pf}\Arnebia\ArnebiaProduct}
DisableDirPage=yes
DefaultGroupName=Arnebia
OutputDir=C:\test progr
OutputBaseFilename=setup
SetupIconFile=C:\test progr\ArnebiaProduct\ArnebiaDoc.ico
Compression=lzma
SolidCompression=yes

[Dirs]
Name: {app}\img

[Tasks]
Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked



[Icons]
Name: {group}\; Filename: {app}\ArnebiaDoc.ico; IconFilename: {app}\ArnebiaDoc.ico; Flags: runminimized
[Files]
Source: ..\..\..\test progr\ArnebiaProduct\img\img_installer\AP_Setup.jpg; DestDir: {app}\img\img_installer
Source: ..\..\..\test progr\ArnebiaProduct\img\img_product\Копия 25s.gif; DestDir: {app}\img\img_product
Source: ..\..\..\test progr\ArnebiaProduct\img\img_product\Копия 26s.gif; DestDir: {app}\img\img_product
Source: ..\..\..\test progr\ArnebiaProduct\img\img_product\Копия 27s.gif; DestDir: {app}\img\img_product
Source: ..\..\..\test progr\ArnebiaProduct\img\img_product\Копия 28s.gif; DestDir: {app}\img\img_product
Source: ..\..\..\test progr\ArnebiaProduct\img\img_product\Копия Копия 25s.gif; DestDir: {app}\img\img_product
Source: ..\..\..\test progr\ArnebiaProduct\img\img_product\Копия Копия 26s.gif; DestDir: {app}\img\img_product
Source: ..\..\..\test progr\ArnebiaProduct\img\img_product\Копия Копия 27s.gif; DestDir: {app}\img\img_product
Source: ..\..\..\test progr\ArnebiaProduct\img\img_product\Копия Копия 28s.gif; DestDir: {app}\img\img_product
Source: ..\..\..\test progr\ArnebiaProduct\img\img_product\Копия Копия Копия 25s.gif; DestDir: {app}\img\img_product
Source: ..\..\..\test progr\ArnebiaProduct\img\img_product\Копия Копия Копия 26s.gif; DestDir: {app}\img\img_product
Source: ..\..\..\test progr\ArnebiaProduct\img\img_product\Копия Копия Копия 27s.gif; DestDir: {app}\img\img_product
Source: ..\..\..\test progr\ArnebiaProduct\img\img_product\Копия Копия Копия 28s.gif; DestDir: {app}\img\img_product
Source: ..\..\..\test progr\ArnebiaProduct\ArnebiaDoc.ico; DestDir: {app}
Source: ..\..\..\test progr\ArnebiaProduct\client.xml; DestDir: {app}
Source: ..\..\..\test progr\ArnebiaProduct\data.mdb; DestDir: {app}

[Code_]
procedure MyAfterInstall();
begin
  MsgBox('Just installed ArnebiaProduct.exe as ' + CurrentFileName + '.', mbInformation, MB_OK);
end;



var
UpDate:string;

function GetInstallPath( AppID: String ): String;
var
Path: String;
    begin
    Path:= '';
    RegQueryStringValue(HKLM, 'SOFTWARE\Arnebia', 'AppPath', Path);
    Result:= Path;
    end;

function InitializeSetup(): Boolean;
var
Version,s:string;
    begin
    Result:=True;
    UpDate:='2.0.0.7';
// Проверка через реестр
    if not RegValueExists(HKLM, 'SOFTWARE\Arnebia', 'AppPath') then
        begin
        s:='Программа не установлена.' #13#13 'Дальнейшая работа невозможна.';
        MsgBox(s, mbError, mb_Ok);
        Result:=False;
        end else
// Проверка присутствия файла в папке с установленной программой
          begin
          If (FileSearch('ArnebiaProduct.exe', ExpandConstant('{code:GetInstallPath}'))='') then
              begin
              s:='Извините, в директории '+ExpandConstant('{code:GetInstallPath}')+'' #13 'не обнаружены файлы, подтверждающие подлинность программы.' #13#13 'Пожалуйста, выберите правильный путь.';
              MsgBox(s, mbError, mb_Ok);
              Result:= False;
              end else
 //                 MsgBox('Версия:'+ Version, mberror, mb_Ok)
 begin
                    if Version < UpDate then //сравниваем
                        begin
                        RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\Arnebia', 'AppVers', Version);
                        Result:=true;
                        end else begin
                        MsgBox('Обновление на данную версию не устанавливается.', mberror, mb_Ok);
                        Result:=false;
                        end;
                    end;
                 end;
          end;



	
procedure DeinitializeSetup();
 begin
     RegWriteStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\Arnebia', 'AppVers', UpDate);
 end;
Заранее очень благодарен за помощь. А то на работе трясут... сроки, а я застрял на этих моментах.pi

Последний раз редактировалось Alfiks, 13-08-2009 в 10:37. Причина: проблема с кодировкой


Отправлено: 10:34, 13-08-2009 | #1277


Новый участник


Сообщения: 15
Благодарности: 0

Профиль | Отправить PM | Цитировать


Всем привет!
Установил "Inno Setup 5.2.3 RU". Программа запустилось Анг. Как русс сделать?

Спасибо!

Отправлено: 19:28, 13-08-2009 | #1278


Аватара для FlatX007

Ветеран


Сообщения: 553
Благодарности: 87

Профиль | Отправить PM | Цитировать


Цитата Alfiks:
1)Как заставить инсталяшку не оставлять след в установке-удалении программ »
CreateUninstallRegKey
Возможные значения : yes or no
Значение по умолчанию : yes
Описание:
При значении no инсталлятор не будет создавать пункта программы в диалоге Установка и удаление программ. Это может быть полезно,
если программа является обновлением для уже установленного приложения и запись в этом диалоге не нужна, но надо сохранить возможность удаления обновления (Uninstallable=no).
Также при значении no UpdateUninstallLogAppName равно no.


Цитата Elka80:
Всем привет!
Установил "Inno Setup 5.2.3 RU". Программа запустилось Анг. Как русс сделать? »
Вы имеете ввиду язык инсталятора или меню программы ?

Если язык инсталятора - то залазим в папку с установленной программой
C:\Program Files\Inno Setup 5\Languages\.. находим файл Russian.isl переименовываем в Default.isl и копируем его в C:\Program Files\Inno Setup 5\
Это сообщение посчитали полезным следующие участники:

Отправлено: 21:08, 13-08-2009 | #1279


Новый участник


Сообщения: 15
Благодарности: 0

Профиль | Отправить PM | Цитировать


FlatX007
Спасибо!


Вопрос: Как создать в C:\Documents and Settings\All Users\Главное меню\Программы. Добавит Удалить игру+ReadME+Настройки игры.?
С какой прогой Inno Setup (Компилятор) или ISTool и как?





Два дня голову ломаю, Надеюсь тут мне ответят.

Последний раз редактировалось Elka80, 13-08-2009 в 22:43. Причина: Ошибка!


Отправлено: 22:41, 13-08-2009 | #1280



Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » [архив] Inno Setup .:[все вопросы]:.

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Inno Setup. Прочие вопросы El Sanchez Автоматическая установка приложений 653 09-01-2023 20:13
Утилиты - [addon] Inno Setup CrOsP Наборы обновлений для Windows XP/2003/Windows 7 33 11-05-2011 16:03
Inno Setup 5.3.6 OSZone Software Новости программного обеспечения 0 15-11-2009 17:30
[Архив] Твики реестра .: [все вопросы] :. Vadikan Автоматическая установка Windows 2000/XP/2003 1431 26-01-2008 08:51
Inno Setup tradeukraine Вебмастеру 3 13-06-2006 20:39




 
Переход