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

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

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

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

Ветеран


Contributor


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


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

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


Изменения
Автор: El Sanchez
Дата: 22-10-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] - Скачать;

  • RegExporter - Фриварная утилита для экспорта реестра и конвертации файлов *.reg и *.ini в инсталляционные скрипты Inno Setup и NSIS.
    Последняя версия: 1.2.0 [23.09.2014] - Скачать;



Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах:

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

Отправлено: 08:52, 02-02-2015

 

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

Ветеран


Contributor


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

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


Цитата Stealthmax:
А можно наглядный пример? »
Stealthmax, исходники в свободном доступе, разработчик заложил возможность добавления пользовательских данных в деинсталлятор. GetPreviousData/SetPreviousData для записи/чтения пользовательских данных (строковых) в реестре в разделе регистрации установщика, сериализировать данные в строку и SetPreviousData в RegisterPreviousData, см. справку. ADS (альтернативные потоки данных) будут работать только на NTFS. Пример:
Скрытый текст

Код: Выделить весь код
var
  Value: AnsiString;

  ...

  // запись
  SaveStringToFile(ExpandConstant('{src}\test.txt:MyStream'), 'Text in MyStream', False);

  // чтение
  LoadStringFromFile(ExpandConstant('{src}\test.txt:MyStream'), Value);

Я бы оставил как есть (запись бекапа во отдельный файл) или способ с GetPreviousData/SetPreviousData.
Цитата Batistas:
как заставить установщик по дефолту сохранять клантэг и ник в UTF-8 и убрать чекбокс "сохранить в UTF-8" »
Batistas, узнаю свой г-код, сейчас бы я так написал:
Скрытый текст

Код: Выделить весь код
[Setup]
AppName=test
AppVerName=test
DefaultDirName={tmp}
DirExistsWarning=no
Uninstallable=no
CreateUninstallRegKey=no

[Languages]
Name: ru; MessagesFile: compiler:Languages\russian.isl

[code]
#ifndef UNICODE
  #error Unicode version of Inno Setup is required to compile this script
#endif
const
  CP_UTF8 = 65001;

function WideCharToMultiByte(CodePage: UINT; dwFlags: DWORD; lpWideCharStr: string; cchWideChar: Integer; lpMultiByteStr: AnsiString; cbMultiByte, lpDefaultChar: Integer; lpUsedDefaultChar: Longint): Integer; external 'WideCharToMultiByte@kernel32.dll stdcall';

var
  RevEmuPage: TInputQueryWizardPage;

///////////////////////////////////////////////////
procedure RevEmuPageEditsOnChange(Sender: TObject);
begin
  WizardForm.NextButton.Enabled := (RevEmuPage.Values[0] <> '');
end;

///////////////////////////
procedure InitializeWizard;
begin
  RevEmuPage := CreateInputQueryPage(wpInfoAfter, 'Игровая информация', '', 'Пожалуйста, введите введите свой ник и Clan-tag и нажмите Далее.');
  with RevEmuPage do
  begin
    Add('Ник:', False);
    Add('Клан-тэг:', False);
    Edits[0].OnChange := @RevEmuPageEditsOnChange;
  end;
end;

/////////////////////////////////////////////////////
function UTF8Encode(const Value: string): AnsiString;
var
  Len: Integer;
begin
  if Value = '' then Exit;
  Len := WideCharToMultiByte(CP_UTF8, 0, Value, -1, '', 0, 0, 0);
  if Len = 0 then Exit;
  Result := StringOfChar(#0, Len - 1);
  if WideCharToMultiByte(CP_UTF8, 0, Value, -1, Result, Len, 0, 0) = 0 then Exit;
end;

/////////////////////////////////////////////
procedure CurPageChanged(CurPageID: Integer);
begin
  case CurPageID of
    RevEmuPage.ID:
      WizardForm.NextButton.Enabled := (RevEmuPage.Values[0] <> '');
    wpFinished:
      begin
        SetIniString('steamclient', 'PlayerName', UTF8Encode(RevEmuPage.Values[0]), ExpandConstant('{app}\rev.ini'));
        SetIniString('steamclient', 'ClanTag', UTF8Encode(RevEmuPage.Values[1]), ExpandConstant('{app}\rev.ini'));
      end;
  end;
end;
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:35, 19-10-2015 | #991



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

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


Аватара для Stealthmax

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


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

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


Цитата El Sanchez:
Я бы оставил как есть (запись бекапа во отдельный файл) »
Способ неплохой за исключением одного момента: нельзя суммировать в один файл бэкапа несколько веток, а так бы уже, пусть лежал в папке, жить не машет точно.

Отправлено: 16:52, 19-10-2015 | #992


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


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

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


Цитата El Sanchez:
Batistas, узнаю свой г-код, сейчас бы я так написал:
Скрытый текст »
Да, это именно Ваш код. Спасибо большое за помощь!

Отправлено: 09:49, 20-10-2015 | #993


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


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

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


Доброго всем времени. Подскажите пожалуйста как добавить информацию из рег файла через секцию [_Run_] в скрытом режиме и без вопросов о добавлении из небезопасного источника.

Сразу оговорюсь, что секция реестра инно не подходит, так как цель моя заключается в следующем:
Делаю сборку программ (одной из которых является Notepad++) так вот этот Notepad++ интегрируется в проводник при помощи регистрируемой библиотеки, которая сама генерирует строку в реестре Edit with &Notepad++ и заменяет то, что пишет инно из секции реестра.
Вот я и хочу, добавить данные (заменить Edit with на Открыть с помощью) на этапе postinstall. или подскажите пожалуйста как это реализовать через секцию [_Code_]
Заранее спасибо.

Отправлено: 18:23, 20-10-2015 | #994


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


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

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


palsn2000, Пробуйте.
Скрытый текст
Код: Выделить весь код
procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep=ssPostInstall then begin
if IsWin64 then
RegWriteStringValue(HKLM64, 'SOFTWARE\Classes\CLSID\{B298D29A-A6ED-11DE-BA8C-A68E55D89593}\Settings',  'Title', 'Открыть с помощью Notepad++')
end else begin
RegWriteStringValue(HKLM, 'SOFTWARE\Classes\CLSID\{B298D29A-A6ED-11DE-BA8C-A68E55D89593}\Settings',  'Title', 'Открыть с помощью Notepad++')
end;
end;
Это сообщение посчитали полезным следующие участники:

Отправлено: 02:10, 21-10-2015 | #995


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


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

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


Всем добрый день!
Подскажите пожалуйста - создаю дистрибутив - устанавливаю его. После установки в меню "Пуск" не появляется пункт с установленным ПО, а появится он только после установки другого дистрибутива или после перезагрузки ПК.
С чем может быть связано?

Отправлено: 16:35, 22-10-2015 | #996


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

Ветеран


Contributor


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

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


Цитата Painkiller:
Народ, тупой вопрос , в какой переменной находиться путь к %userprofile%? »
Painkiller, например, в {%USERPROFILE}
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:29, 23-10-2015 | #998


Аватара для Painkiller

Ветеран


Автор проектов


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

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


Цитата El Sanchez:
Painkiller, например, в {%USERPROFILE} »
Пробовал, получаю путь C:\Users\Mazahaka_lab\AppData\Roaming\uTorrent, а мне надо C:\Users\Mazahaka_lab\uTorrent

-------
http://wiki.oszone.net/images/0/03/UserbarAAA4.gif


UpdatePack 7 для интеграции обновлений в образ Windows 7 SP1 [X86\64]

UpdatePack 8.1 для интеграции обновлений в образ Windows 8.1 [X86\64]

UpdatePack 10 для интеграции обновлений в образ Windows 10 [X86\64]


Отправлено: 14:38, 23-10-2015 | #999


Аватара для Dodakaedr

Ветеран


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

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


Painkiller, Если так показать, разберетесь?
Код: Выделить весь код
[setup]
appname=app
appvername=1.0
createappdir=no

[code]
const
CSIDL_PROFILE = $28;

procedure InitializeWizard();
var
s: string;
begin
s := GetShellFolderByCSIDL(CSIDL_PROFILE, false);
WizardForm.WelcomeLabel1.Caption := s+'\uTorrent';
end;

-------
Inno Setup 5 Ultra Unicode


Отправлено: 14:40, 23-10-2015 | #1000



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Скрипты Inno Setup. Помощь и советы [часть 7] El Sanchez Автоматическая установка приложений 2499 02-02-2015 08:59
Скрипты Inno Setup. Помощь и советы [часть 6] El Sanchez Автоматическая установка приложений 2494 10-03-2014 11:51
Скрипты Inno Setup. Помощь и советы [часть 5] El Sanchez Автоматическая установка приложений 1999 28-03-2013 19:09
Скрипты Inno Setup. Помощь и советы [часть 4] El Sanchez Автоматическая установка приложений 2099 22-05-2012 23:16
Скрипты Inno Setup. Помощь и советы [часть 3] Serega Автоматическая установка приложений 3755 26-10-2011 17:58




 
Переход