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

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

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

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

Ветеран


Contributor


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


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

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


Изменения
Автор: Vadikan
Дата: 22-05-2012
Описание: Закрыто
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме
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. Помощь и советы [часть 5]

Отправлено: 18:01, 29-08-2011

 

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


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

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


Цитата valyok666:
TROY Diamond, там надо к системным функциям вроде обращаться »
Ну так помогите, мне нужно только "стандартное сообщение" о нехватке места убрать!

Отправлено: 13:55, 27-12-2011 | #491



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

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


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


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

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


1. Почему не работает этот код для удаления сохранений?

Код: Выделить весь код
[_Code_]
procedure DeleteSavedGames(CurUninstallStep: TUninstallStep);
begin
  if CurUninstallStep=usUninstall then
  if DirExists(ExpandConstant('{app}')+'\Profiles') then
  if MsgBox(ExpandConstant('{cm:DeleteSave}'), mbInformation, MB_YESNO) = idYes then
  DelTree(ExpandConstant('{app}')+'\Profiles', True, True, True)
end;
2. Как в процессе установки запустить, а потом автоматически закрыть какое-нибудь приложение, находящееся в папке установки, но НЕ являющееся "основным" (т.е. это типа "утилита", а НЕ сама устанавливаемая программа), не имеет значение из секции Run или Code? Приложение очень маленькое и для того чтобы оно "сработало", нужно всего пару секунд, поэтому и надо его потом автоматически закрыть?
Наверное, можно как-то "убить" процесс?!

3. Как с помощью [INI] или как-то по другому создать файл, текстовый и другие, НО ТОЛЬКО С ОДНИМ ЗНАЧЕНИЕМ "ВНУТРИ", БЕЗ параметра, никаких "Section", "InstallPath", НЕ надо!
Только одно значение БЕЗ всего - в одну строчку, без кавычек, тире, двоеточий, типа открыл это файл, а там только:

5478549547hutjtiure84509fdjrereire943ukifju894390tgk4t984ij43m

и всё больше ничего нет!

4. Есть ли способ "обновить" дополнить список файлов для деинсталляции?
В процессе установки создаются файлы, о которых установщик "не знает", можно ли их как-то их "вписать"?

Или же просто использовать секцию [UninstallDelete]?

Отправлено: 14:12, 27-12-2011 | #492


Аватара для Edison007

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


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

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


by_gangster, рекомендую прочитать справку к IsDone
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:03, 27-12-2011 | #493


Забанен


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

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


А переименовать как нибудь можно, ну, на примере SaveToFile(HostFileName);?
Ну что то вроде:
читать дальше »
Код: Выделить весь код
RenFile(HostFileName); или
RenameFile(HostFileName); 
незнаю как там идёт


TROY Diamond, Ты вот это вот своё стихотворение хотя бы под спойлер спряч, а!

Последний раз редактировалось Devils Night, 27-12-2011 в 15:28.

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

Отправлено: 15:15, 27-12-2011 | #494


Ветеран


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

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


Цитата МИШАНЧИК:
Так у меня тоже не получилось. Ошибка та-же "Не могу создать..." и подсвечивается строка "SaveToFile..." »
Честно говоря каспером не пользуюсь и не могу поэкспериментировать, но на сколько понимаю, инсталлятор должен быть запущен из под админа. Попробуйте поэкспериментировать с переименованиями файла с помощью функции:
Код: Выделить весь код
function MoveFile(lpExistingFileName, lpNewFileName: PChar): BOOL; external 'MoveFileA@kernel32.dll stdcall';
только необходимо предварительно проверять на существование файла в который вы будите переименовывать, т.е. если он существует, то его предварительно нужно удалить.

Цитата Edison007:
На файле хостс, может стоять атрибут "только чтение" и тогда с ним ничего не сделаешь, сам с этим сталкивался... »
Тогда можно предварительно проверить атрибуты и если они стоят, то снять их...

Цитата Devils Night:
И что даёт это? »
Почитайте здесь, а так же можете глянуть здесь

Цитата TROY Diamond:
Есть ли противоположное параметру "ExtraDiskSpaceRequired"? »
На сколько я знаю, нет такого.
Цитата TROY Diamond:
Но установщик считает размер всего упакованного в него... »
Так используйте внешние архивы. Прочитайте в справке константа {src}
Цитата TROY Diamond:
Можно его убрать? »
Стандартными методами нет, можно перехватывать это сообщение и нажимать автоматом на кнопку, но всё равно само сообщение будет видно.
Цитата TROY Diamond:
1. Почему не работает этот код для удаления сохранений? »
Код рабочий, только не совсем понятно, зачем удалять сохранения из {app}, если всё равно её удалять будете или у вас {app} остаётся после деинсталляции?
Цитата TROY Diamond:
2. Как в процессе установки запустить, а потом автоматически закрыть какое-нибудь приложение, находящееся в папке установки, но НЕ являющееся "основным" (т.е. это типа "утилита", а НЕ сама устанавливаемая программа), не имеет значение из секции Run или Code? Приложение очень маленькое и для того чтобы оно "сработало", нужно всего пару секунд, поэтому и надо его потом автоматически закрыть? »
Почитайте в справке про секцию [Run]
Цитата TROY Diamond:
Наверное, можно как-то "убить" процесс?! »
Можно через код, а можно через taskkill.exe
Цитата TROY Diamond:
3. Как с помощью [INI] или как-то по другому создать файл, текстовый и другие, НО ТОЛЬКО С ОДНИМ ЗНАЧЕНИЕМ "ВНУТРИ", БЕЗ параметра »
TStringList вам в помощь
Цитата TROY Diamond:
4. Есть ли способ "обновить" дополнить список файлов для деинсталляции?
В процессе установки создаются файлы, о которых установщик "не знает", можно ли их как-то их "вписать"? »
При деинсталляции можете прописать их проверку на существование и если они существуют, то удалять их или
Цитата TROY Diamond:
просто использовать секцию [UninstallDelete]»

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

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

Отправлено: 19:02, 27-12-2011 | #495


Аватара для semiono

Ветеран


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

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


Код: Выделить весь код
[.code]
procedure DeinitializeSetup();
var
  S: TArrayOfString;
  F: String;
begin
  RegisterServer(not Is64BitInstallMode,ExpandConstant('{app}\AudioTrack.dll'),true)
///...

  RegWriteStringValue(HKLM32,'Software\Classes\CLSID\{3A4B9C26-C211-11CF-8A58-0800099D420E}','','[AudioTrack Mono]')
///...

  F := ExpandConstant('{app}\Waves.inf');
  SetArrayLength(S, 135);
  S[000] := '[Version]'
  S[001] := 'Signature="$Windows NT$"'
  S[002] := ''
///...
  SaveStringsToFile(F, S, False)
end;
Подскажите пожалуйста! Если пользователь прерывает остановку, то в секции код получается ошибка,
как бы переменная {app} не определенна. Как зделать выход из кода чтоб он не обрабатывался вообще
если юзер нажимает отмену установки?
Я пытался что-то сообразить типа if ExpandConstant('{app}') <> 0 then но не получается

Вроде пустячёк, помогите скорее

-------
Полезное сообщение


Отправлено: 22:32, 27-12-2011 | #496


Забанен


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

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


Пара замороченных вопросов
Как сделать такое?:

И как сделать так чтобы после установки не было вот этого значка, который в нижнем правом углу?:

Отправлено: 22:39, 27-12-2011 | #497


Ветеран


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

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


Цитата semiono:
Если пользователь прерывает остановку, то в секции код получается ошибка, »
Такие вещи нужно делать в:
Код: Выделить весь код
procedure CurStepChanged(CurStep: TSetupStep);
begin
  if CurStep = ssDone then
    begin
      // здесь ваш код...
    end;
end;
Цитата Devils Night:
Как сделать такое? »
В расширенной версии есть редактор форм "WizardForm Designer", добавляете свои страницы и кидаете на форму нужные контролы...
Цитата Devils Night:
чтобы после установки не было вот этого значка »
По умолчанию его и не должно быть.

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

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

Отправлено: 23:09, 27-12-2011 | #498


Забанен


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

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


Цитата Serega:
В расширенной версии есть редактор форм "WizardForm Designer" »
Я вообще знаю что через форму, но и то некоторые функции, но есть одно но, при добавлении они не видны, например:
читать дальше »
Код: Выделить весь код
var
  IPAddressEdit1: TIPAddressEdit;

procedure RedesignWizardForm;
begin
  IPAddressEdit1 := TIPAddressEdit.Create(WizardForm);
  with IPAddressEdit1 do
  begin
    Name := 'IPAddressEdit1';
    Parent := WizardForm.SelectTasksPage;
    Left := ScaleX(8);
    Top := ScaleY(200);
    Width := ScaleX(150);
    Height := ScaleY(21);
  end;

  IPAddressEdit1.TabOrder := 2;
end;

procedure InitializeWizard();
begin
  RedesignWizardForm;
end;
, на странице этого нет.

Отправлено: 23:57, 27-12-2011 | #499


Ветеран


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

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


Цитата Devils Night:
на странице этого нет. »
Скопировал ваш код и у меня TIPAddressEdit есть на странице SelectTasksPage

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

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

Отправлено: 00:16, 28-12-2011 | #500



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Test ferget Тест-форум 0 24-08-2011 01:25
test ! ! Aaa ! ! Тест-форум 0 23-04-2011 11:29
test Santa aka Snt Тест-форум 0 16-04-2011 22:35
test xolod. Программное обеспечение Linux и FreeBSD 0 19-04-2009 21:03
Test memory KEugeNik Хочу все знать 11 23-11-2003 23:11




 
Переход