|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 5] |
|
Скрипты Inno Setup. Помощь и советы [часть 5]
|
Ветеран Сообщения: 1264 |
Профиль | Отправить PM | Цитировать
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме Inno Setup. Прочие вопросы. Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах: Inno Setup [все вопросы] часть 1 Inno Setup [все вопросы] часть 2 Скрипты Inno Setup. Помощь и советы [часть 3] Скрипты Inno Setup. Помощь и советы [часть 4] |
|
Отправлено: 03:49, 21-05-2012 |
Сообщения: 3651
|
Профиль | Сайт | Отправить PM | Цитировать TEKTON, по аналогии с примером из поста #501 - #include не обязан быть в секциях, будь то [code] или [files] ;[
|
------- Отправлено: 23:24, 27-07-2012 | #481 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 19
|
Профиль | Отправить PM | Цитировать Ок.
Сейчас прописал в самом верху скрипта до секции [Setup] Вылетает ошибка Файл: C:\Documents and Settings\Desktop\INSTAL\SYSTEST\SystemTest.iss Строка 76: Column 37: [ISPP] Undeclared identifier: "Processor". Не хватает ему чего то. Где его это взять и как подключить ? |
Последний раз редактировалось TEKTON, 27-07-2012 в 23:44. Отправлено: 23:37, 27-07-2012 | #482 |
Сообщения: 3651
|
Профиль | Сайт | Отправить PM | Цитировать Цитата TEKTON:
#define System "Система" #define Processor "Процессор" #define VideoCard "Видеоадаптер" #define Audio "Звуковая карта" #define RamMemory "Объём памяти" #define PageFile "Файл подкачки" |
|
------- Отправлено: 23:49, 27-07-2012 | #483 |
Новый участник Сообщения: 19
|
Профиль | Отправить PM | Цитировать Смотрел я уже ту шляпу.
Парень бился бился с ошибками, потом ему втюхали какую то get_hw_caps.dll. На этом всё и кончилось... Можете нормальный пример сделать из двух скриптов? Чтоб один подключался ко второму. p.s. Я тоже рою нет, но пока чёткого и конкретного ответа не нашёл. |
Отправлено: 00:26, 28-07-2012 | #484 |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать Цитата TEKTON:
|
|
Отправлено: 16:12, 28-07-2012 | #485 |
Старожил Сообщения: 163
|
Профиль | Отправить PM | Цитировать Цитата TEKTON:
|
|
------- Отправлено: 16:16, 28-07-2012 | #486 |
Новый участник Сообщения: 13
|
Профиль | Отправить PM | Цитировать Цитата Yury_Prizrak:
var IsInit: Boolean; ZXBPage: TWizardPage; DBPage: TWizardPage; procedure InitializeWizard; begin // страничка подключения к базе данных DBPage := Db_CreatePage(wpSelectDir); // страничка подключения ZXBPage := ZXB_CreatePage(DBPage.ID); IsInit := False; end; // Инициализация страничек с настройками из конфигурационного файла. procedure CurPageChanged(CurPageID: Integer); var ConfigPath: String; XMLDoc, XMLNodeList, XMLNode, XMLAttributes, XMLAttrib: Variant; i: Integer; begin // проверка инициализированности параметров, для последующих заходов на страницы if IsInit then Exit; // проверка ID страничек с параметрами if (not (CurPageID = DBPage.ID)) and (not (CurPageID = ZXBPage.ID)) then Exit; ConfigPath := ExpandConstant('{app}\111.exe.config'); // проверка наличия конфигурационного файла if not FileExists( ConfigPath ) then begin IsInit := True; Exit; end; // загрузка конфигурационного файла XMLDoc := CreateOleObject('MSXML2.DOMDocument'); XMLDoc.async := False; XMLDoc.resolveExternals := False; XMLDoc.load( ConfigPath ); if XMLDoc.parseError.errorCode <> 0 then RaiseException('Error on line ' + IntToStr(XMLDoc.parseError.line) + ', position ' + IntToStr(XMLDoc.parseError.linepos) + ': ' + XMLDoc.parseError.reason); // страничка подключения к базе данных // поле 'Строка подключения к базе данных:' XMLNode := XMLDoc.selectSingleNode('//connectionStrings/add[@name="BankDb"]'); if not VarIsEmpty(XMLNode) then begin XMLAttributes := XMLNode.attributes; XMLAttrib := XMLAttributes.getNamedItem('connectionString'); ConnectionStringEdit.Text := XMLAttrib.text; end; IsInit := True; end; // ConfigChange. // Изменение настроек в конфигурационном файле. procedure ConfigChange(); var ConfigPath: String; XMLDoc, XMLNodeList, XMLNode, XMLAttributes, XMLAttrib: Variant; i: Integer; begin ConfigPath := ExpandConstant('{app}\CreditLaw.exe.config'); // проверка наличия конфигурационного файла if not FileExists( ConfigPath ) then Exit; XMLDoc := CreateOleObject('MSXML2.DOMDocument'); XMLDoc.async := False; XMLDoc.resolveExternals := False; XMLDoc.load( ConfigPath ); if XMLDoc.parseError.errorCode <> 0 then RaiseException('Error on line ' + IntToStr(XMLDoc.parseError.line) + ', position ' + IntToStr(XMLDoc.parseError.linepos) + ': ' + XMLDoc.parseError.reason); // поле 'Строка подключения к базе данных:' в секции connectionStrings XMLNode := XMLDoc.selectSingleNode('//connectionStrings/add[@name="BankDb"]'); if not VarIsEmpty(XMLNode) then begin XMLAttributes := XMLNode.attributes; XMLAttrib := XMLAttributes.getNamedItem('connectionString'); XMLAttrib.text := ConnectionStringEdit.Text; end; XMLDoc.Save( ConfigPath ); end; var IsInit: Boolean; ServiceString: String; //переменные для конфигурационного файла: ConnectBD: String; procedure LoadConfigFileData(); var ConfigPath: String; XMLDoc, XMLNodeList, XMLNode, XMLAttributes, XMLAttrib: Variant; i: Integer; begin // загрузка конфигурационного файла XMLDoc := CreateOleObject('MSXML2.DOMDocument'); XMLDoc.async := False; XMLDoc.resolveExternals := False; XMLDoc.load( ExpandConstant('{app}\Configuration\CvlServiceConfig.xml') ); if XMLDoc.parseError.errorCode <> 0 then RaiseException('Error on line ' + IntToStr(XMLDoc.parseError.line) + ', position ' + IntToStr(XMLDoc.parseError.linepos) + ': ' + XMLDoc.parseError.reason); // поле 'Строка подключения к базе данных:' XMLNode := XMLDoc.selectSingleNode('//DataBase'); if not VarIsEmpty(XMLNode) then begin XMLAttributes := XMLNode.attributes; XMLAttrib := XMLAttributes.getNamedItem('ConnectionStringNoPass'); ConnectBD := XMLAttrib.text; end; IsInit := False; end; procedure RecoveryConfigFile(); var ConfigPath: String; XMLDoc, XMLNodeList, XMLNode, XMLAttributes, XMLAttrib: Variant; i: Integer; begin ConfigPath := ExpandConstant('{app}\Configuration\CvlServiceConfig.xml'); // проверка наличия конфигурационного файла if not FileExists( ConfigPath ) then Exit; // загрузка конфигурационного файла XMLDoc := CreateOleObject('MSXML2.DOMDocument'); XMLDoc.async := False; XMLDoc.resolveExternals := False; XMLDoc.load( ExpandConstant('{app}\Configuration\CvlServiceConfig.xml') ); if XMLDoc.parseError.errorCode <> 0 then RaiseException('Error on line ' + IntToStr(XMLDoc.parseError.line) + ', position ' + IntToStr(XMLDoc.parseError.linepos) + ': ' + XMLDoc.parseError.reason); // страничка подключения к базе данных // поле 'Строка подключения к базе данных:' XMLNode := XMLDoc.selectSingleNode('//DataBase'); if not VarIsEmpty(XMLNode) then begin XMLAttributes := XMLNode.attributes; XMLAttrib := XMLAttributes.getNamedItem('ConnectionStringNoPass'); XMLAttrib.text := ConnectBD; end; XMLDoc.Save( ConfigPath ); end; |
|
Отправлено: 13:09, 30-07-2012 | #487 |
Новый участник Сообщения: 15
|
Профиль | Отправить PM | Цитировать всем привет , скажите как мне сделать чтобы страница создания ярлыков появилась после установки игры или программы ???????????77
|
Отправлено: 14:43, 30-07-2012 | #488 |
Ветеран Сообщения: 649
|
Профиль | Отправить PM | Цитировать Yury_Prizrak,
мне кажется тебе не хватает одной единственной логической переменной сделай так [code] var Installed: boolean; function InitializeSetup(): Boolean; begin Installed := False; проверяем есть ли ключ (код 2 страницы назад) если есть Installed := True; и пошло по всему коду end; procedure InitializeWizard; begin if not Installed then создаём страницы. Короче всё, что должно делаться если не установлена end; procedure CurPageChanged(CurPageID: Integer); begin if not Installed then тоже самое но для того что ты делаешь в переключении страниц end; итд юзай else если надо |
Отправлено: 18:27, 30-07-2012 | #489 |
Ветеран Сообщения: 1088
|
Профиль | Отправить PM | Цитировать Mafioza, вроде в оригинальном компиляторе Inno Setup есть чекбокс "Создать ярлык на Рабочем столе"?
|
Отправлено: 18:56, 30-07-2012 | #490 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Скрипты Inno Setup. Помощь и советы [часть 4] | El Sanchez | Автоматическая установка приложений | 2099 | 22-05-2012 23:16 | |
Скрипты Inno Setup. Помощь и советы [часть 3] | Serega | Автоматическая установка приложений | 3755 | 26-10-2011 17:58 | |
[архив] Скрипты Inno Setup. Помощь и советы [часть 2] | Serega | Автоматическая установка приложений | 2651 | 08-11-2010 18:34 | |
Скрипты Inno Setup Compiler | QAZAK | Автоматическая установка приложений | 7 | 15-01-2007 17:59 | |
Inno Setup | tradeukraine | Вебмастеру | 3 | 13-06-2006 20:39 |
|