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

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

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

Аватара для El Sanchez

Ветеран


Contributor


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


Конфигурация

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


Изменения
Автор: El Sanchez
Дата: 16-02-2015
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме
Inno Setup. Прочие вопросы.


Показать/скрыть: Справка, руководство, примеры:
Показать/скрыть: Ссылки на примеры скриптов:
Показать/скрыть: Дополнительные программы для Inno Setup:
  • ISTool - неплохой редактор скриптов Inno Setup.
    Последняя версия: 5.3.0.1 [29.09.2009] - Скачать | зеркало;

  • Inno Script Generator - генератор скриптов Inno Setup. Обладает некоторыми полезными функциями, которых нет ни у самого Inno Setup, ни у ISTool.
    Последняя версия: 1.0.3.1 [23.03.2008] - Скачать | зеркало на русифицированную программу;
    Примечание: Родной сайт www.hisoft2000.de более недоступен, поэтому здесь расположены сторонние ссылки.

  • Inno Setup Form Designer - редактор страниц Inno Setup, можно создавать свои страницы.
    Последняя версия: 2.0.8 [12.11.2006] - Скачать;
    Примечание: Родной сайт http://isfd.kaju74.de/index.php?isfd более недоступен, поэтому здесь расположены сторонние ссылки.

  • Inno Setup GameScript Generator - программа генерирует скрипты для Inno Setup . С помощью GameScript Generator и Inno Setup вы сможете быстро создать простенький инсталляционный пакет для любой игры. В инсталлятор можно встроить музыку, слайдшоу и фоновый рисунок. Для специалистов созданный скрипт, возможно, будет неплохой заготовкой для дальнейшей модернизации;

  • ISSkin - Программа для создания и добавления в инсталлятор скинов. Инструкция.
    Последняя версия: 3.0.0.0 [19.01.2010] - Скачать;

  • ISSJoiner - Программа для объединения нескольких скриптов InnoSetup в один.
    Последняя версия: 3.0 [23.07.2009]

  • Converter - Программа конвертирует reg-файлы в формат *.iss (формат скриптов Inno Setup).
    Последняя версия: 0.1.4 [13.03.2010] - Скачать;


Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах:
Inno Setup [все вопросы] часть 1
Inno Setup [все вопросы] часть 2
Скрипты Inno Setup. Помощь и советы [часть 3]
Скрипты Inno Setup. Помощь и советы [часть 4]

Отправлено: 03:49, 21-05-2012

 

Аватара для MogilShik2007

Пользователь


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

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


Привет, появилось пару вопросов:

Код: Выделить весь код
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep); 
begin 
if CurUninstallStep=usUninstall then 
begin 
if DirExists(ExpandConstant('{pf}\PCGAME\Игра\Saves')) then 
begin 
if MsgBox('Удалить сохранения игры?',mbconfirmation, mb_yesno) = IDYES then 
begin 
DelTree(ExpandConstant('{pf}\PCGAME\Игра\Saves'), True, True, True); 
MsgBox('Сохранения игры успешно удалены.', mbinformation, mb_ok); 
end; 
end; 
end; 
end;

[UninstallDelete]
Type: dirifempty; Name: "{pf}\PCGAME"
Type: dirifempty; Name: "{pf}\PCGAME\Игра"
Type: files; Name: "{pf}\PCGAME\Игра\log.txt"
Type: files; Name: "{pf}\PCGAME\Игра\multiplayer_log.txt"
Type: files; Name: "{pf}\PCGAME\Игра\stronghold.cfg"
1. Как сделать, чтобы выделенное красным тоже удалялось?
2. Если изменить папку назначения то вся эта фигня бессмысленна, как можно это решить?)))

Отправлено: 04:55, 07-09-2012 | #851



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

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


Аватара для R.i.m.s.k.y.

Ветеран


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

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


MogilShik2007, помоему у тебя кнопка ) западает
2. {app}\PCGAME
1.
Код: Выделить весь код
procedure RD(Dir:string);
begin
  Exec('cmd.exe', ' /c rd /S /Q  ' + '"'+Dir+'"',ExpandConstant('{sys}'), SW_Hide,ewWaitUntilTerminated,res);
end;

procedure RF(file:string);
begin
  Exec('cmd.exe', ' /c del /F /Q  ' + '"'+file+'"',ExpandConstant('{sys}'), SW_Hide,ewWaitUntilTerminated,res);
end;

procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
if CurUninstallStep=usDone then begin
  RD(ExpandConstant('{app}'))
end;
end;

-------
Хороший установщик тот, которого не замечаешь
Оформление в инно пустая трата времени: толку мало, головняка много, а ошибок истчо больше!

Это сообщение посчитали полезным следующие участники:

Отправлено: 07:25, 07-09-2012 | #852


Аватара для MogilShik2007

Пользователь


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

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


Не, неканает {app}, пропускает запрос на удаление сохранений...

Отправлено: 10:16, 07-09-2012 | #853


Аватара для Gnom_aka_Lexander

Ветеран


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

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


MogilShik2007, смотри. Папка {app}(папка, в которую была установлена программа) это то, что удаляется вообще по всякому. соответственно - проверяем - нету, запрос пропускается - чего не понятно?

-------
Я люблю помогать. Но не путайте: "Помогите мне" и "Сделайте за меня" - это совершенно разные понятия.

Это сообщение посчитали полезным следующие участники:

Отправлено: 10:27, 07-09-2012 | #854


Аватара для MogilShik2007

Пользователь


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

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


Разобрался)))

Отправлено: 10:52, 07-09-2012 | #855


Аватара для MogilShik2007

Пользователь


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

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


Такой вопрос, на странице приветствия когда пишется мол будет установлена такая-то программа или игра, реально как-то название этой проги или игры своим цветом сделать?

Отправлено: 13:08, 07-09-2012 | #856


Аватара для Gnom_aka_Lexander

Ветеран


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

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


MogilShik2007, Можно.

-------
Я люблю помогать. Но не путайте: "Помогите мне" и "Сделайте за меня" - это совершенно разные понятия.

Это сообщение посчитали полезным следующие участники:

Отправлено: 13:12, 07-09-2012 | #857


Аватара для MogilShik2007

Пользователь


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

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


Елки, посмотрел этот ReDrawText, там сам черт ногу сломит(((

Последний раз редактировалось MogilShik2007, 07-09-2012 в 14:59.


Отправлено: 13:48, 07-09-2012 | #858


Аватара для MogilShik2007

Пользователь


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

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


Усе, победил таки с помощью ReDrawText, оказалась отличная штука)))

Подскажите какие цвета в формате color=$FF0000 поддерживает IS, а то не все хавает.

Ммм, ну и хотелось бы скрипт для полного счастья, чтобы использовать скин при деинсталляции, такой же как и при установке, а то пробовал:

Скрипт
[Setup]
AppName=My prog
AppVerName=My prog
DefaultDirName={pf}\My prog

[Files]
Source: ISSkin.dll; DestDir: {app}; Flags: ignoreversion
Source: Tiger.cjstyles; DestDir: {app}; Flags: ignoreversion

[code]
procedure LoadSkin(lpszPath: string; lpszIniFileName: string );
external 'LoadSkin@files:isskin.dll stdcall delayload setuponly';

procedure LoadSkinUninst(lpszPath: string; lpszIniFileName: string );
external 'LoadSkin@{tmp}\isskin.dll stdcall delayload uninstallonly';

procedure UnloadSkin();
external 'UnloadSkin@files:isskin.dll stdcall delayload setuponly';

procedure UnloadSkinUninst();
external 'UnloadSkin@{tmp}\isskin.dll stdcall delayload uninstallonly';

function ShowWindow(hWnd: Integer; uType: Integer): Integer;
external 'ShowWindow@user32.dll stdcall';

function InitializeSetup(): Boolean;
begin
ExtractTemporaryFile('Tiger.cjstyles');
LoadSkin(ExpandConstant('{tmp}\Tiger.cjstyles'), '');
Result := True;
end;

function InitializeUninstall(): Boolean;
begin
FileCopy(ExpandConstant('{app}\isskin.dll'), ExpandConstant('{tmp}\isskin.dll'), True);
FileCopy(ExpandConstant('{app}\Tiger.cjstyles'), ExpandConstant('{tmp}\Tiger.cjstyles'), True);
LoadSkinUninst(ExpandConstant('{tmp}\Tiger.cjstyles'), '');
Result := True;
end;

procedure DeinitializeUninstall();
begin
UnloadSkinUninst();
end;


Устанавливаться то со скином устанавливается, а удаляться не хочет выдает ошибку(((

Отправлено: 16:26, 07-09-2012 | #859


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


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

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


Всем привет. Такой вопрос - как сделать чекбокс на последней странице с надписью "Запустить сервис?" и, если он нажат выполнить функцию
читать дальше »

Код: Выделить весь код
//StartService.
procedure StartService();
var
	ResultCode: Integer;
	ResultString: String;
begin
	//Проверка инстал или апдейт
	if not Installed then
	begin
		ResultString := ExpandConstant('start "' + IdentificationServiceEdit.Text + '"');
	end
	else
	begin
		ResultString := ExpandConstant('start "' + IdentificationService + '"');
	end;

	Exec('net', ResultString, '', SW_HIDE, ewWaitUntilTerminated, ResultCode);
end;

Отправлено: 17:10, 07-09-2012 | #860



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипты Inno Setup. Помощь и советы [часть 4] El Sanchez Автоматическая установка приложений 2099 22-05-2012 23:16
Скрипты Inno Setup. Помощь и советы [часть 3] Serega Автоматическая установка приложений 3755 26-10-2011 17:58
[архив] Скрипты Inno Setup. Помощь и советы [часть 2] Serega Автоматическая установка приложений 2651 08-11-2010 18:34
Скрипты Inno Setup Compiler QAZAK Автоматическая установка приложений 7 15-01-2007 17:59
Inno Setup tradeukraine Вебмастеру 3 13-06-2006 20:39




 
Переход