|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Скрипты Inno Setup. Помощь и советы [часть 8] |
|
Скрипты Inno Setup. Помощь и советы [часть 8]
|
Ветеран Сообщения: 1264 |
Профиль | Отправить PM | Цитировать
Внимание! Данная тема предназначена только для обсуждения написания скриптов !
Остальные вопросы, а также последние версии компилятора в теме Inno Setup. Прочие вопросы. Показать/скрыть: Справка, руководство, примеры:
Показать/скрыть: Ссылки на примеры скриптов:
Показать/скрыть: Дополнительные программы для Inno Setup:
Предыдущие ветки обсуждения по ссылкам ниже и в прикреплённых архивах: Скрипты Inno Setup. Помощь и советы (Archive Pack 1):
Скрипты Inno Setup. Помощь и советы [часть 6] Скрипты Inno Setup. Помощь и советы [часть 7] |
|
Отправлено: 08:52, 02-02-2015 |
Ветеран Сообщения: 857
|
Профиль | Отправить PM | Цитировать Как найти папки по части их имени? Известно только в какой папке искать и начало имени папок, все папки начинаются с нумерации от 001.
Не получается применить FindFirst. |
------- Отправлено: 10:05, 06-02-2017 | #1841 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 4
|
Профиль | Сайт | Отправить PM | Цитировать Подскажите, собственно во время установки требуется что бы инсталятор вывел окно для ввода данных, конкретно цифр, пользователь вводит эти цифры и далее эти цифры используются в качестве параметра для приложений в секции [run], такое возможно?
|
Отправлено: 15:03, 09-02-2017 | #1842 |
Новый участник Сообщения: 4
|
Профиль | Сайт | Отправить PM | Цитировать Всё нашел сам. Отбой.
|
Отправлено: 16:23, 09-02-2017 | #1843 |
Новый участник Сообщения: 4
|
Профиль | Сайт | Отправить PM | Цитировать [setup] AppName=ChangeDomain AppVerName=0.1 DefaultDirName=c:\ OutputDir=c:\ [code ] var AuthPage : TInputQueryWizardPage; procedure InitializeWizard; begin AuthPage := CreateInputQueryPage(wpWelcome, 'Account Information', 'Please enter your Account Information', ''); AuthPage.Add('Username:', False); AuthPage.Add('Password:', False); end; function AuthForm_NextButtonClick(Page: TWizardPage): Boolean; begin Result := True; end; function GetUserName(Param: String): string; begin result := AuthPage.Values[0]; end; function GetPassword(Param: String): string; begin result := AuthPage.Values[1]; end; [Run] Filename: "{syswow64}\wbem\WMIC.exe"; Parameters: "ComputerSystem where Name='%COMPUTERNAME%' call Rename Name='{code:GetUsername}'" Filename: "{syswow64}\wbem\WMIC.exe"; Parameters: "ComputerSystem where Name='%COMPUTERNAME%' call JoinDomainOrWorkgroup Name='{code:GetPassword}'" |
Отправлено: 02:50, 10-02-2017 | #1844 |
Новый участник Сообщения: 4
|
Профиль | Сайт | Отправить PM | Цитировать
пошёл другим путём, тут не запускает в конце созданный батник, если добавить postinstall, то запускает но с чекбоксом |
Отправлено: 04:07, 10-02-2017 | #1845 |
Ветеран Сообщения: 1264
|
Профиль | Отправить PM | Цитировать Цитата akiraii@vk:
Цитата akiraii@vk:
|
||
Отправлено: 15:40, 13-02-2017 | #1846 |
Старожил Сообщения: 284
|
Профиль | Отправить PM | Цитировать NeoBlack1,
Как то так
#define MyAppName "Barnet POS" #define MyAppVersion "1.6" #define MyAppPublisher "Barnet POS, inc" #define MyAppURL "http://barnetbc.ru" #define MyAppExeName "BarnetManager.exe" #define SQLSERVERNAME "localhost\SQLEXPRESS" #define SQLDATABASENAME "barnet" [Setup] AppId={{84A2C789-E6B0-4F26-832A-07D3A8AD0316} AppName={#MyAppName} AppVersion={#MyAppVersion} ;AppVerName={#MyAppName} {#MyAppVersion} AppPublisher={#MyAppPublisher} AppPublisherURL={#MyAppURL} AppSupportURL={#MyAppURL} AppUpdatesURL={#MyAppURL} DefaultDirName={pf}\{#MyAppName} DisableProgramGroupPage=yes OutputBaseFilename=setup Compression=lzma SolidCompression=yes [Languages] Name: "english"; MessagesFile: "compiler:Default.isl" 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:\BarnetPOSScript\SourceProgram\BarnetManager.exe"; DestDir: "{app}"; Flags: ignoreversion; // Source: "C:\BarnetPOSScript\SourceProgram\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs; [Icons] Name: "{commonprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}" Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: quicklaunchicon [Run] Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent [code] var Page, Page1, Page2: TWizardPage; Button, Button2, FormButton: TNewButton; Edit2, strServerName, strDabaseName : TNewEdit; PasswordEdit: TPasswordEdit; StaticText, StaticText1, StaticText2, StaticText3, StaticText4: TNewStaticText; CheckListBox2: TNewCheckListBox; InputPage: TInputFileWizardPage; function IsChecked(const Index: Integer): Boolean; begin Result:= CheckListBox2.Checked[Index] end; function CheckAlias(): Boolean; var ADOConnection: Variant; begin Result := false; try ADOConnection := CreateOleObject('ADODB.Connection'); ADOConnection.ConnectionString := 'Provider=SQLOLEDB;Data Source={#SQLSERVERNAME};Initial Catalog={#SQLDATABASENAME};User Id=sa;Password=123456;' ADOConnection.Open; try Result := true; finally ADOConnection.Close; end; except Result := false; end; end; procedure ButtonOnClick(Sender: TObject); begin CheckAlias(); MsgBox('Соединение установлено', mbInformation, mb_Ok); end; procedure ButtonOnClick2(Sender: TObject); begin MsgBox('You clicked the button!!!!!', mbInformation, mb_Ok); end; procedure FormButtonOnClick(Sender: TObject); var OKButton: TNewButton; OKButton2: TNewButton; Form: TSetupForm; begin Form := CreateCustomForm(); try OKButton := TNewButton.Create(Form); OKButton.Parent := Form; OKButton.Width := ScaleX(75); OKButton.Height := ScaleY(23); OKButton.Left := Form.ClientWidth - ScaleX(75 + 6 + 75 + 10); OKButton.Top := Form.ClientHeight - ScaleY(23 + 10); OKButton.Caption := 'OK'; OKButton.ModalResult := mrOk; OKButton.Default := True; OKButton2 := TNewButton.Create(Form); OKButton2.Parent := Form; OKButton2.Width := ScaleX(75); OKButton2.Height := ScaleY(23); OKButton2.Left := Form.ClientWidth - ScaleX(75 + 6 + 75 + 10); OKButton2.Top := Form.ClientHeight - ScaleY(23 + 10); OKButton2.Caption := 'OK'; OKButton2.ModalResult := mrOk; OKButton2.Default := True; finally Form.Free(); end; end; // Страницы инсталлятора! procedure InitializeWizard(); begin // 1-я страница (Выбор Установки)! Page := CreateCustomPage(wpWelcome, 'Тип Установки', 'TNewCheckListBox'); CheckListBox2 := TNewCheckListBox.Create(Page); CheckListBox2.Top := ScaleY(8); CheckListBox2.Width := Page.SurfaceWidth; CheckListBox2.Height := ScaleY(97); CheckListBox2.BorderStyle := bsNone; CheckListBox2.ParentColor := True; CheckListBox2.MinItemHeight := WizardForm.TasksList.MinItemHeight; CheckListBox2.ShowLines := False; CheckListBox2.WantTabs := True; CheckListBox2.Parent := Page.Surface; CheckListBox2.AddGroup('Выберите тип установки', '', 0, nil); CheckListBox2.AddRadioButton('Установить файлы', '', 0, True, True, nil); CheckListBox2.AddRadioButton('Установить файлы + создать новую базу данных', '', 0, False, True, nil); // 2-я страница (Создание БАЗЫ ДАННЫХ)! Page1 := CreateCustomPage(Page.ID, 'Создание новой базы данных', 'Сервер и Наименование'); StaticText := TNewStaticText.Create(Page1); StaticText.Parent := Page1.Surface; StaticText.Caption := 'Наименование сервера'; StaticText.AutoSize := True; strServerName := TNewEdit.Create(Page1); strServerName.Top := StaticText.Top + StaticText.Height + ScaleY(2); strServerName.Width := Page1.SurfaceWidth div 2 - ScaleX(8); strServerName.Text := '{#SQLSERVERNAME}'; strServerName.Parent := Page1.Surface; StaticText1 := TNewStaticText.Create(Page1); StaticText1.Parent := Page1.Surface; StaticText1.Top := strServerName.Top + strServerName.Height + ScaleY(8); StaticText1.Caption := 'Укажите имя базы данных'; StaticText1.AutoSize := True; strDabaseName := TNewEdit.Create(Page1); strDabaseName.Top := StaticText1.Top + StaticText1.Height + ScaleY(8); strDabaseName.Width := Page1.SurfaceWidth div 2 - ScaleX(8); strDabaseName.Text := '{#SQLDATABASENAME}'; strDabaseName.Parent := Page1.Surface; Button := TNewButton.Create(Page1); Button.Width := ScaleX(150); Button.Height := ScaleY(23); Button.Top := strDabaseName.Top + strDabaseName.Height + ScaleY(8); Button.Caption := 'Проверить соединение'; Button.OnClick := @ButtonOnClick; Button.Parent := Page1.Surface; // 3-я страница (Загрузка бэкапа)! InputPage := CreateInputFilePage(Page1.ID, 'Создание новой базы данных', 'Загрузка шаблона базы данных', 'Выберите файл'); InputPage.Add('Расширение файла .bak', 'BAK files (*.bak)|*.bak', '.bak'); Button2 := TNewButton.Create(InputPage); Button2.Width := ScaleX(90); Button2.Height := ScaleY(23); Button2.Left := ScaleX(10); Button2.Top := ScaleY(80); Button2.Caption := 'Загрузить'; Button2.OnClick := @ButtonOnClick2; Button2.Parent := InputPage.Surface; //InputPage.Values[0] := GetPreviousData('Расширение файла .bak', ExpandConstant('{sysuserinfoname}')); end; function ShouldSkipPage(PageID: Integer): Boolean; begin if IsChecked(0) then if (PageID = Page1.id) or(PageID = InputPage.ID) then Result := False if IsChecked(1) then if (PageID = Page1.id) or(PageID = InputPage.ID) then Result := True; end; |
------- Отправлено: 20:27, 15-02-2017 | #1847 |
Ветеран Сообщения: 1264
|
Профиль | Отправить PM | Цитировать Из PM:
Цитата NeoBlack1:
Скрытый текст
const adStateOpen = 1; function CheckAlias(): Boolean; var ADOConnection: Variant; begin Result := False; try ADOConnection := CreateOleObject('ADODB.Connection'); ADOConnection.ConnectionString := 'Provider=SQLOLEDB;Data Source={#SQLSERVERNAME};Initial Catalog={#SQLDATABASENAME};User Id=sa;Password=123456;' ADOConnection.Open; except MsgBox(GetExceptionMessage, mbCriticalError, MB_OK); finally Result := (ADOConnection.State = adStateOpen); if Result then ADOConnection.Close; end; end; procedure ButtonOnClick(Sender: TObject); begin WizardForm.NextButton.Enabled := CheckAlias(); if WizardForm.NextButton.Enabled then MsgBox('Соединение установлено', mbInformation, mb_Ok); end; procedure CurPageChanged(CurPageID: Integer); begin case CurPageID of Page1.ID: WizardForm.NextButton.Enabled := False; end; end; |
|
Отправлено: 09:50, 16-02-2017 | #1848 |
Забанен Сообщения: 96
|
ребята подскажите как сделать чтобы перед инсталляцией программы запускалась программа Microsoft Visual C++
|
Отправлено: 18:46, 17-02-2017 | #1849 |
Ушел из жизни Сообщения: 8595
|
Профиль | Сайт | Отправить PM | Цитировать vadjliss, с этого места поподробнее, пожалуйста. Что за программа, и почему ей не хватает установленных библиотек C++ неизвестно какой версии, что приходится запускать
Цитата vadjliss:
|
|
------- Отправлено: 23:43, 17-02-2017 | #1850 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Скрипты 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 |
|