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

Компьютерный форум 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

 

Аватара для Dodakaedr

Ветеран


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

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


Как в зависимости от ОС показывать\скрывать элемент? В данном случаи чекбокс:
Скрытый текст
Код: Выделить весь код
[Setup]
appname=app
appversion=1.0
DefaultDirName={pf}\app

[code]
#define A = (Defined UNICODE) ? "W" : "A"
const
    VER_PLATFORM_WIN32_NT = 2;
type
    _OSVERSIONINFOEX = record
        dwOSVersionInfoSize: DWORD;
        dwMajorVersion: DWORD;
        dwMinorVersion: DWORD;
        dwPlatformId: DWORD;
        wServicePackMajor: WORD;
       end;

var
Taskbar: TCheckBox;

function GetVersionEx( var lpVersionInformation: _OSVERSIONINFOEX ): BOOL; external 'GetVersionEx{#A}@kernel32.dll stdcall';

function IsWindowsXp( ): Boolean;
var
    osviEx: _OSVERSIONINFOEX;
begin
    osviEx.dwOSVersionInfoSize := SizeOf( osviEx );

    if ( not GetVersionEx( osviEx ) ) then
      Exit;

    Result := ( ( osviEx.dwPlatformId = VER_PLATFORM_WIN32_NT ) and
                ( osviEx.dwMajorVersion = 5 ) and
                ( osviEx.dwMinorVersion = 1 ) and
                ( osviEx.wServicePackMajor = 3 ) );
end;

procedure TaskbarCreate();
begin
    Taskbar := nil;

    if not IsWindowsXp then
      begin
          Taskbar := TCheckBox.Create(nil);
          with Taskbar do
          begin
              Parent := WizardForm.WelcomePage;
              SetBounds(ScaleX(185), ScaleY(251), ScaleX(104), ScaleY(15));
              Caption := 'Раздача';
              
          end;
      end;
end;

procedure InitializeWizard();
begin
  TaskbarCreate;
end;


Задача: не показывать чекбокс если оперативная система XP.

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


Последний раз редактировалось Dodakaedr, 07-04-2015 в 18:04.


Отправлено: 16:59, 07-04-2015 | #441



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

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


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

Ветеран


Contributor


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

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


Цитата Dodakaedr:
Задача: не показывать чекбокс если оперативная система XP. »
Dodakaedr,
Код: Выделить весь код
var
    Taskbar: TCheckBox;

procedure TaskbarCreate;
begin
    Taskbar := TCheckBox.Create(WizardForm);
    with Taskbar do
    begin
        Parent := WizardForm.WelcomePage;
        SetBounds(ScaleX(185), ScaleY(251), ScaleX(104), ScaleY(15));
        Caption := 'Раздача';
        Visible := (GetWindowsVersion > $06000000);
    end;
end;

///////////////////////////
procedure InitializeWizard;
begin
    TaskbarCreate;
end;
Это сообщение посчитали полезным следующие участники:

Отправлено: 09:25, 08-04-2015 | #442


Аватара для AlekseyPopovv

Старожил


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

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


Как скрыть окошко в конце деинсталляции: "UninstalledAll=Программа %1 была полностью удалена с вашего компьютера."?
И ещё: вот так вот удаляется папка "DelTree(ExpandConstant('{localappdata}\Temp\CacheProgram'), True, True, True);"
а так нет "DelTree(ExpandConstant('{tmp}\CacheProgram'), True, True, True);". Почему не понятно!

Отправлено: 19:09, 08-04-2015 | #443


Аватара для Dodakaedr

Ветеран


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

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


Цитата AlekseyPopovv:
Как скрыть окошко в конце деинсталляции »
Скрытый текст
Код: Выделить весь код
[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={pf}\My Program
DisableFinishedPage=yes
OutputDir=.

[Languages]
Name: RUS; MessagesFile: "compiler:Languages\Russian.isl"

[Code]
function InitializeUninstall:boolean;
var
  rcode: Integer;
begin
  Result:= False;
if not UninstallSilent then
begin
  Exec(ExpandConstant('{uninstallexe}'), '/SILENT', '', SW_SHOW, ewNoWait, RCode);
  Exit;
end;
if MsgBox('удалить программу?', mbConfirmation, MB_YESNO) = IDYES then
begin
  Result := True;
end;
if not UninstallSilent then
begin
  Exec(ExpandConstant('{uninstallexe}'), '/SILENT', '', SW_SHOW, ewNoWait, RCode);
  Exit;
end;
end;


Цитата AlekseyPopovv:
Почему не понятно! »
Потому что {localappdata}\Temp\CacheProgram это C:\Users\Admin\AppData\Local\Temp\CacheProgram, а {tmp}\CacheProgram:
Цитата:
{tmp}
Временная папка. Это не значение переменной среды TEMP пользователя. Это папка, где создаются временные файлы инсталлятора ("C:\WINDOWS\TEMP\IS-xxxxx.tmp"). Все файлы и папки удаляются из папки Temp после завершения установки приложения. Эта константа используется в случае, если в секции [Run] указаны файлы, необходимые при инсталляции, но не нужные для дальнейшей работы приложения.

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


Последний раз редактировалось Dodakaedr, 08-04-2015 в 20:31.

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

Отправлено: 20:03, 08-04-2015 | #444


Аватара для AlekseyPopovv

Старожил


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

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


В системе имеется файл "Config.ini" с таким содержимым:
[General]
Language=Russian
Как мне в эту секцию дописать:
Key=123
и сохранить файл в таком виде:
[General]
Language=Russian
Key=123
Пробовал так, но результат не тот:
if FileExists(ExpandConstant('{win}\Config.ini')) then
SetIniString('Gereral', 'Key', '123', ExpandConstant('{win}\Config.ini'));
Получается:
[General]
Language=Russian

[General]
Key=123
Помогите.

Отправлено: 22:50, 08-04-2015 | #445


Аватара для Dodakaedr

Ветеран


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

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


Цитата AlekseyPopovv:
В системе имеется файл "Config.ini" с таким содержимым:
[General] »
В файле General а вы пишите SetIniString('Gereral', 'Key', '123', ExpandConstant('{win}\Config.ini')); вот и не стыковка.

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

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

Отправлено: 22:59, 08-04-2015 | #446


Аватара для AlekseyPopovv

Старожил


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

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


Исправил, но всё равно создаёт вторую такую же секцию. Я где то раньше видел пример, теперь не могу найти.

Отправлено: 23:12, 08-04-2015 | #447


Аватара для Dodakaedr

Ветеран


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

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


Цитата AlekseyPopovv:
Исправил, но всё равно создаёт вторую такую же секцию »
Скопируйте слово General с файла и вставьте в скрипт, потому что все работает.
Файл Config.ini
Положите файл Config.ini радом с исталлом
Цитата:
[General]
Language=Russian

Инсталл
Код: Выделить весь код
[Setup]
appname=appppp
AppVersion=1.0
DefaultDirName={pf}\appppp
OutputDir=.

[code]
procedure InitializeWizard();
begin
if FileExists(ExpandConstant('{src}\Config.ini')) then
SetIniString('General', 'Key', '123', ExpandConstant('{src}\Config.ini'));
end;

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

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

Отправлено: 23:18, 08-04-2015 | #448


Аватара для AlekseyPopovv

Старожил


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

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


Попробовал. Создал новый другой файл .ini всё сработало, а у того файла видать особенность такая!
Добавил другие параметры, он их удалил сам. Короче файл шифрованный.

Отправлено: 23:23, 08-04-2015 | #449


Аватара для Dodakaedr

Ветеран


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

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


Цитата AlekseyPopovv:
Короче файл шифрованный. »
Скиньте его посмотрим что за файл такой. Возможно на нем атрибут стоить только чтение.

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


Отправлено: 23:30, 08-04-2015 | #450



Компьютерный форум 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




 
Переход