|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 8] |
|
Скрипты Inno Setup. Помощь и советы [часть 8]
|
Ветеран Сообщения: 1270 |
Профиль | Отправить PM | Цитировать
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме Inno Setup. Прочие вопросы. Показать/скрыть: Справка, руководство, примеры:
Показать/скрыть: Ссылки на примеры скриптов:
Показать/скрыть: Дополнительные программы для Inno Setup:
Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах: Скрипты Inno Setup. Помощь и советы (Archive Pack 1):
Скрипты Inno Setup. Помощь и советы [часть 6] Скрипты Inno Setup. Помощь и советы [часть 7] |
|
Отправлено: 08:52, 02-02-2015 |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать Nordek, спасибо за ответ.
Я так понял, что всё что я "натягал" из реестра в сценарий скрипту и даром не нунжно? Удалил всё, что шло ниже [Registry]. Сделал инсталлятор и установил с него игру. При попытке удаления выскакивает та же ошибка. |
Последний раз редактировалось бювет, 24-04-2015 в 16:34. Отправлено: 15:38, 24-04-2015 | #541 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
SHVtYW4= Сообщения: 3451
|
Профиль | Отправить PM | Цитировать Цитата бювет:
Например:
У вас имеются:
В содержится информация о настройках, которая в будущем может пригодиться (Зависит от возможностей): Может быть как добавлено содержимое в скрипт, так и нет (т.к в другом случае информация о параметрах может быть помещена в конфигурационный файл ".ini"). В содержится информация о приложении, контакты и пр. В тоже время, благодаря информации которая содержится в "MPC-HC_is1", позволит без труда деинсталлировать приложение. Т.е для деинсталляции, достаточно такой информации: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\MPC-HC_is1] "DisplayIcon"="C:\\Program Files\\MPC-HC\\mpc-hc.exe" "DisplayName"="Media Player Classic Home Cinema" "UninstallString"="C:\\Program Files\\MPC-HC\\uninsall.exe" [Setup] AppId=ID Приложения AppVersion=Версия AppPublisher=Издатель AppPublisherURL=Сайт создателя AppSupportURL=Поддержка AppUpdatesURL=Обновления UninstallDisplayName=Имя UninstallDisplayIcon=Значок,Индекс значка AppModifyPath=Изменения AppComments=Комментарии AppContact=Контакты AppReadmeFile=Файл Readme AppSupportPhone=Телефон не нужно. В некотором случае, добавление может стать ошибочной или не желательной (например в случае как 32-х и 64-х битных системах, одна из информации может являться неверной информацией (мусором)). Цитата бювет:
[Files] Source: C:\Program Files (x86)\GothicIII\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs Вы компилируете напрямую с "C:\Program Files (x86)\GothicIII" В инсталляторе прописано "C:\Program Files (x86)\GothicIII\*" + Обрабатовать подкаталоги + Создавать все подкаталоги: Это значит, что в инсталлятор входит всё содержимое. Вы не учли одно "но", то что в инсталлятор не должны входить файлы "unins000.dat" и "unins000.exe". Чтоб не путаться, скопируйте содержимое: "C:\Program Files (x86)\GothicIII" в другое удобное место. Например:
Зайдите в "C:\Program Files (x86)" и скопируйте от туда папку "GothicIII" на локальный диск "D:\" т.е чтоб получилось "D:\GothicIII"
Затем зайдите в "D:\GothicIII" и в папке "GothicIII" удалите "unins000.dat" и "unins000.exe". В скрипте, в секции [Files] замените: Source: C:\Program Files (x86)\GothicIII\Gothic3.exe; DestDir: {app}; Flags: ignoreversion Source: C:\Program Files (x86)\GothicIII\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs Строка вида C:\Program Files (x86)\GothicIII\Gothic3.exe вам не нужна, потому-что у вас и так входит всё содержимое каталога. |
||
Последний раз редактировалось Nordek, 25-04-2015 в 02:41. Отправлено: 23:44, 24-04-2015 | #542 |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать Nordek, спасибо огромное! Изумительный Вы человек! Вместо того, что бы просто кинуть пару строк кода ламеру с подсказкой куда их вставить, Вы пошагово разжовываете в чём моя ошибка (как хороший преподаватель), объясняете где я был не прав... О, боженька ты мой! В Вас толерантности на десять человек! Я просто счастлив, что попал на этот форум даже из-за того, что есть возможность пообщаться с такими людьми! Ещё раз огромное спасибо.
|
Последний раз редактировалось бювет, 25-04-2015 в 07:18. Отправлено: 06:59, 25-04-2015 | #543 |
Новый участник Сообщения: 30
|
Профиль | Отправить PM | Цитировать Здравствуйте, подскажите пожалуйста можно-ли каким-то образом перенести часть названия (текста) задачи на вторую строку.
Допустим (произвольное название) [Tasks] Name: zadacha1; Description: Установить/Обновить Название программы Версия программы (от: число месяц год) Хочу чтобы на странице инсталлятора название задачи выглядело следующим образом: Установить/Обновить Название программы Версия программы (от: число месяц год) Отбивать строку пробелами как-то не серьёзно (каждый раз приходится подбирать заново при наличии/отсутствии прокрутки в задачах или при изменении названия) Есть какой-нибудь способ типа +#13#10+ или что-то типа того? |
Отправлено: 10:31, 25-04-2015 | #544 |
SHVtYW4= Сообщения: 3451
|
Профиль | Отправить PM | Цитировать Цитата palsn2000:
|
|
Отправлено: 14:10, 25-04-2015 | #545 |
Новый участник Сообщения: 38
|
Профиль | Отправить PM | Цитировать Всем привет!
Подскажите, пожалуйста, нубу, пример кода (скрипта) на установку доп. компонентов (DirectX, Visual C++) ? Сойдёт либо тихая установка, либо в конце шла - без разницы. Заранее Большое Спасибо! |
Отправлено: 12:16, 26-04-2015 | #546 |
Ветеран Сообщения: 860
|
Профиль | Отправить PM | Цитировать OldGamer, Вот здесь посмотрите Ссылка
еще такое есть Скрытый текст
[Tasks] Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked Name: icons\Mp; Description: Создать ярлык на рабочем столе для одиночной игры (Mp) Name: soft; Description: Дополнительные програмное обеспечение Name: soft\directx; Description: Обновить DirectX Name: soft\VCCheck; Description: Установить Microsoft Visual C++ Name: soft\oalinst; Description: Установить Open AL Name: soft\PhysX; Description: Установить Nvidia PhysX Name: soft\ubisoft_Game_Launcher; Description: Установить Ubisoft Game Launcher Name: icons; Description: Дополнительные значки Name: icons\sp; Description: Создать ярлык на рабочем столе для одиночной игры (Sp) Name: icons\Mp; Description: Создать ярлык на рабочем столе для одиночной игры (Mp) [Run] Filename: {src}\DirectX\DXSETUP.exe; Parameters: /silent; StatusMsg: Обновление DirectX...; Tasks: soft\directx; Flags: waituntilterminated Filename: {src}\vcredist\vcredist_x86.exe; Parameters: /q; StatusMsg: Установка Microsoft Visual C++ ...; Tasks: soft\VCCheck; Flags: runhidden waituntilterminated Filename: {src}\Redist\oalinst.exe; Parameters: /silent; MinVersion: 4.0,5.0; StatusMsg: Идет установка дополнительных программ...; Tasks: soft\oalinst; Flags: waituntilterminated Filename: {src}\PhysX_9.10.0224_SystemSoftware.exe; Parameters: /quiet; MinVersion: 4.0,5.0; StatusMsg: Идет установка Nvidia PhysX; Tasks: soft\PhysX; Flags: waituntilterminated Filename: {src}\GameLauncher\UbisoftGameLauncherInstaller.exe; Parameters: /silent; MinVersion: 4.0,5.0; StatusMsg: Идет установка Ubisoft Game Launcher...; Tasks: soft\Ubisoft_Game_Launcher; Flags: waituntilterminated |
------- Последний раз редактировалось Dodakaedr, 26-04-2015 в 19:12. Отправлено: 14:07, 26-04-2015 | #547 |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать Добрый день, народ!
Подскажите пожалуйста, Inno Setup юзаю 3-ий день и потому не совсем втыкаю как и что, поэтому прошу помощи. Задача такая - нужен установщик и апдейтер в одном. То есть если приложение не установлено - идет установка, если установлено, то соответственно обновление. Причем при обновлении нужно копировать новый екзе, и после этого запускать второй екзешник, который будет делать обновление скриптов в базе. После всего этого закрывать установщик. Записывать что-то в регистр не обязательно. Как это сделать? Я нашел код сравнивающий версии файлов, впихнул его в раздел Code, но что делать дальше ума не приложу, да к тому же компилятор ругается на строку 47. ; Script generated by the Inno Setup Script Wizard. ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! [Setup] ; NOTE: The value of AppId uniquely identifies this application. AppId={{1419C2B5-9C27-42DE-9424-9EB8FEEF4C3B} AppName=MyApp AppVersion=1.0.0.3 AppPublisher=Студия "MyApp" DefaultDirName={pf}\MyApp DefaultGroupName=MyApp LicenseFile=C:\CVSWork\MyApp\license.txt OutputDir=C:\CVSWork\MyApp\Out OutputBaseFilename=setup Compression=lzma SolidCompression=yes [Languages] Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl" [Tasks] Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 0,6.1 [Files] Source: "C:\CVSWork\MyApp\ShopUchet.exe"; DestDir: "{app}"; Flags: ignoreversion Source: "C:\CVSWork\MyApp\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs ; NOTE: Don't use "Flags: ignoreversion" on any shared system files {Code} type VersionState = (vsNotInstalled, vsOlderInstalled, vsSameInstalled, vsNewerInstalled); function GetVersionState(): VersionState; var ExePath: String; VersionMS, VersionLS: Cardinal; begin ExePath := ExpandConstant('{app}\MyApp.exe'); if GetVersionNumbers(ExePath, VersionMS, VersionLS) then begin if (VersionMS < {#VersionMS}) or ((VersionMS = {#VersionMS}) and (VersionLS < {#VersionLS})) then begin Result := vsOlderInstalled; end else if (VersionMS > {#VersionMS}) or ((VersionMS = {#VersionMS}) and (VersionLS > {#VersionLS})) then begin Result := vsNewerInstalled; end else begin Result := vsSameInstalled; end; end else begin Result := vsNotInstalled; end; end; function OnNextButtonClick(CurPageId: Integer): Boolean; begin Result := True; if CurPageId = wpSelectDir then begin if GetVersionState() = vsNewerInstalled then begin Result := SuppressibleMsgBox('A newer version of the application is already installed. Are you sure you want to ' + 'downgrade to {#MyAppVersion}?', mbConfirmation, MB_YESNO, IDYES) = IDYES; end; end; end; [Icons] Name: "{group}\ShopUchet"; Filename: "{app}\MyApp.exe" Name: "{commondesktop}\MyApp"; Filename: "{app}\MyApp.exe"; Tasks: desktopicon Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\MyApp"; Filename: "{app}\MyApp.exe"; Tasks: quicklaunchicon [Run] Filename: "{app}\MyApp.exe"; Description: "{cm:LaunchProgram,MyApp}"; Flags: nowait postinstall skipifsilent |
Отправлено: 11:58, 27-04-2015 | #548 |
Старожил Сообщения: 212
|
Профиль | Отправить PM | Цитировать Цитата aidynchik:
Перед секцией [Setup] (ну или же в любом месте, где вам угодно), прописываете: З.ы. это директивы препроцессора, встроенного в компилятор. Не все компиляторы имеют его. |
|
------- Отправлено: 13:12, 27-04-2015 | #549 |
Новый участник Сообщения: 6
|
Профиль | Отправить PM | Цитировать Цитата:
Т.к. установка проходит вполне гладко, и пошагово компилятор туда не заходит |
|
Отправлено: 06:27, 28-04-2015 | #550 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Скрипты 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 |
|