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

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

 

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


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

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


Подскажите как поправить пример
Код: Выделить весь код
[  code]
const
  INSTALLSTATE_DEFAULT = 5;

#ifdef UNICODE 
  #define A "W" 
 #else 
  #define A "A"
#endif

function MsiQueryProductState(szProduct: String): Integer;
external 'MsiQueryProductState{#A}@msi.dll stdcall';

function IsMsiProductInstall(ProductCode: String): Boolean;
begin
  Result := MsiQueryProductState(ProductCode) = INSTALLSTATE_DEFAULT;
end;

//к примеру определяем установлен ли Microsoft Visual C++ 2010  x86 Redistributable, ProductCode которого {196BB40D-1578-3D01-B289-BEFC77A11A1E}
procedure InitializeWizard();
begin
  if IsMsiProductInstall('{196BB40D-1578-3D01-B289-BEFC77A11A1E}') then
    MsgBox('vcredist 2010 installed for current user', mbInformation, MB_OK)
  else
    MsgBox('vcredist 2010 not installed', mbInformation, MB_OK);
end;
Нужно результатом работы получить, если Microsoft Visual C++ 2010 установлен, то продолжаем установку (можно и не показывать сообщение про это), если не установлен то отобразить сообщение что не установлен, и завершить процесс установки.
Сам пытался, но нечего путнего у меня не вышло

Отправлено: 23:04, 24-10-2017 | #2211



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

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


Ветеран


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

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


Цитата xryst:
то отобразить сообщение что не установлен, и завершить процесс установки. »
Почему бы не предложить его тут же, прямо сейчас, загрузить и установить?!

Отправлено: 23:35, 24-10-2017 | #2212


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


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

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


Цитата Iska:
Почему бы не предложить его тут же, прямо сейчас, загрузить и установить?! »
В реальном инсталере хочу использовать этот метод для установки обновления программы, которое делаю сам, если программа есть, обновляем, если нет то завершаем работу. Оригинальный инсталер программы msi, по этому и выбрал этот метод.

Отправлено: 00:00, 25-10-2017 | #2213


Аватара для nik1967

Старожил


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

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


xryst,
Скрытый текст
Код: Выделить весь код
[Setup]
AppName = MyApp
AppVerName = MyApp
DefaultDirname = {pf}\MyApp
OutputDir=.

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

[code]
const
  INSTALLSTATE_DEFAULT = 5;

#ifdef UNICODE 
  #define A "W" 
 #else 
  #define A "A"
#endif

function MsiQueryProductState(szProduct: String): Integer;
external 'MsiQueryProductState{#A}@msi.dll stdcall';

function IsMsiProductInstall(ProductCode: String): Boolean;
begin
  Result:= MsiQueryProductState(ProductCode) = INSTALLSTATE_DEFAULT;
end;

//к примеру определяем установлен ли Microsoft Visual C++ 2010  x86 Redistributable, ProductCode которого {196BB40D-1578-3D01-B289-BEFC77A11A1E}
function InitializeSetup: Boolean;
begin
  if IsMsiProductInstall('{196BB40D-1578-3D01-B289-BEFC77A11A1E}') then begin
    MsgBox('vcredist 2010 installed for current user', mbInformation, MB_OK);
    Result:= true;
  end else begin
    MsgBox('vcredist 2010 not installed', mbInformation, MB_OK);
    Result:= false;
  end;
end;

-------
Если сообщение оказалось полезным для Вас, то помимо спасибо, можно нажать на "Полезное сообщение".

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

Отправлено: 09:34, 25-10-2017 | #2214


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


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

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


Здраствуйте, уважаемые знатоки!
Такая вот шняга. Скрипт Inno Setup подшаманить надо.
Надо убрать инфу для удаления, а конкретно - два файла. unins000.dat и unins000.exe с целевой папки
Может, посоветуете что?
Вариант ручного удаления - не вариант. Надо чтобы их не оставалось после установки

Отправлено: 10:03, 25-10-2017 | #2215


Ветеран


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

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


Карась з Днiпра, зачем?

Отправлено: 10:06, 25-10-2017 | #2216


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


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

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


Также задача второстепенной важности, которая мне никак не поддается. Буду благодарен, если поможете.
Видел как то русскую локализацию к игре Lost Via Domus, от пиратов. Целевой файл там на 2 ГБ, архив какой нибудь. А сам инсталл - мегабайта полтора или сколько там. Не помню. Мелочь. Подобное супер-мега-дупер-сжатие мне надо реализовать и в своем скрипте, потому как файлов там гигабайт на 15. Помогите, пожалуйста...

Отправлено: 10:09, 25-10-2017 | #2217


Аватара для nik1967

Старожил


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

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


Карась з Днiпра,
Читаем справку!

[Setup]: Uninstallable
Возможные значения:
yes или no, или логические выражения
Значение по умолчанию:
yes

Описание:
Inno Setup определяет, создавать ли автоматический деинсталлятор. При значении yes или логического выражения True он создается. Иначе автоматическое удаление будет невозможно, так что пользователь должен будет вручную удалять программу.

Установка значения директивы в True может быть полезной, если Вы хотите установить 'переносимую' программу.

Например:
[Setup]
Uninstallable=not IsTaskSelected('portablemode')

[Tasks]
Name: portablemode; Описание: "Portable Mode"
См. также:
CreateUninstallRegKey

[Setup]: CreateUninstallRegKey
Возможные значения:
yes или no, или логическое выражение
Значение по умолчанию:
yes

Описание:
При значении no или False (логические выражения) инсталлятор не будет создавать пункта программы в диалоге Установка и удаление программ. Это может быть полезно, если программа является обновлением для уже установленного приложения и запись в этом диалоге не нужна, но надо сохранить возможность удаления обновления (Uninstallable=no). В этом случае, UpdateUninstallLogAppName обычно устанавливается в no.


-------
Если сообщение оказалось полезным для Вас, то помимо спасибо, можно нажать на "Полезное сообщение".


Последний раз редактировалось nik1967, 25-10-2017 в 10:15.

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

Отправлено: 10:10, 25-10-2017 | #2218


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


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

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


Iska, для моего инсталла деинсталяция вообще не нужна. Да и лишние файлы в целевой папке тоже.

Отправлено: 10:10, 25-10-2017 | #2219


Аватара для nik1967

Старожил


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

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


Цитата Карась з Днiпра:
Помогите, пожалуйста... »
Использовать внешние упаковщики, для распаковки - IsDone.

-------
Если сообщение оказалось полезным для Вас, то помимо спасибо, можно нажать на "Полезное сообщение".

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

Отправлено: 10:11, 25-10-2017 | #2220



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




 
Переход