Имя пользователя:
Пароль:
 

Показать сообщение отдельно

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


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

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


Здравствуйте!

Ситуация:
нужно допилить чужую инсталку. Несколько дней поисков готовых решений (или требующих минимальных изменений) - безрезультатны
Нет опыта, поэтому обращаюсь за помощью
задачи 3:

1) добавить в список выбора языков - русский язык
http://forum.oszone.net/attachment.p...1&d=1429261858

Добавила ShowLanguageDialog, добавила в [Languages] язык, в списке - не отображается

UPD. пока писала сообщение, нашла решение этой проблемы (метод резиновой уточки detected )

[Setup]
ShowUndisplayableLanguages=yes
//корректно не отображается, но думаю, это можно полечить локальными настройками системы

2) сделать зависимость инсталяции компонентов (MS SQL Server 2008 или 2012) от версии системы (если Windows 5, 6 в первом случае и >=7 - во втором)
NB. "Зависимость иннсталяции" для меня значит, что будет только один возможный RadioButton будет активный

http://forum.oszone.net/attachment.p...1&d=1429261858

Нашла такой код
Код: Выделить весь код
if ((GetWindowsVersion shr 24) = 5) and (((GetWindowsVersion shr 16) and $FF) = 1) then
begin
MsgBox('Windows XP', mbInformation, MB_OK);
end
else if ((GetWindowsVersion shr 24) = 6) and (((GetWindowsVersion shr 16) and $FF) = 1) then
begin
MsgBox('Windows 7', mbInformation, MB_OK);
end;

//Windows 7 = 6.1
//Windows Vista = 6.0
//Windows XP 64-Bit Edition = 5.2
//Windows XP = 5.1
//Windows 2000 = 5.0
Проблема в том, что я не знаю, куда его вставить


3) При выборе уже существующего на компьютере пользователя MS SQL Server необходим список этих самых серверов. Но чесно говоря этот вопрос еще не гуглила. Если кто подскажет где искать/ что делать - буду благодарна

http://forum.oszone.net/attachment.p...1&d=1429261858

весь iss

Код: Выделить весь код
[Setup]
AppName=PasCom
AppVerName=PasCom
DefaultDirName={pf}\PasCom
DefaultGroupName=PasCom
UninstallDisplayIcon={app}\PasCom.exe
Compression=lzma
SolidCompression=yes
ShowLanguageDialog=yes
LanguageDetectionMethod=none
ShowUndisplayableLanguages=yes

[Languages]
Name: "pl"; MessagesFile: "compiler:Languages\Polish.isl"; LicenseFile: "Licencja.rtf"
Name: "en"; MessagesFile: "compiler:Default.isl"
Name: "ru"; MessagesFile: "compiler:Languages\Russian.isl"; LicenseFile: "Licencja.rtf"

[Registry]
Root: HKCU; Subkey: "PasCom Transport"; Flags: uninsdeletekey

[CustomMessages]
Demo=Demo                                                                                        
pl.Aplikacja=Klient aplikacji
en.Aplikacja=Application client
ru.Aplikacja=Клиент приложения

pl.AplikacjaServer=Aplikacja serwerowa
en.AplikacjaServer=Server application
ru.AplikacjaServer=Серверное приложение

pl.WyborWersji=Wybór wersji programu
en.WyborWersji=Choose application version
ru.WyborWersji=Версия программы

pl.WyborWersjiRozwiniecie=Proszę wybrać wersję aplikacji, a następnie przejść dalej
en.WyborWersjiRozwiniecie=Please choose application version and click next
ru.WyborWersjiRozwiniecie=Необходимо выбрать версию программы и перейти дальше

pl.RodzajInstalacjiTypowa=Typowa
en.RodzajInstalacjiTypowa=Typical
ru.RodzajInstalacjiTypowa=Стандартная установка

pl.RodzajInstalacjiZaawansowana=Zaawansowana
en.RodzajInstalacjiZaawansowana=Advanced
ru.RodzajInstalacjiZaawansowana=Расширенная

pl.RodzajInstalacjiTypowaOpis=Instaluje automatycznie najczęściej używane składniki
en.RodzajInstalacjiTypowaOpis=Automatically install the most commonly used components
ru.RodzajInstalacjiTypowaOpis=Автоматическая установка наиболее часто используемых компонентов

pl.RodzajInstalacjizaawansowanaOpis=Umożliwia samodzielny wybór składników do zainstalowania lub podłączenie bazy danych do istniejących serwerów SQL
en.RodzajInstalacjizaawansowanaOpis=Allows you to choose the components to install or connect to an existing database SQL servers
ru.RodzajInstalacjizaawansowanaOpis=Позволяет выбрать компоненты для установки или подключение к существующим серверам баз данных SQL.

pl.RodzajInstalacjiRozwiniecie=Proszę wybrać rodzaj instalacji, a następnie przejść dalej
en.RodzajInstalacjiRozwiniecie=Please choose the type of application and click next
ru.RodzajInstalacjiRozwiniecie=Необходимо выбрать тип установки

pl.RodzajInstalacji=Wybór rodzaju instalacji
en.RodzajInstalacji=Choose instalation type
ru.RodzajInstalacji=Выберите тип установки

pl.TypSerwera=Wybór wersji serwera MS SQL
en.TypSerwera=Choose MS SQL server type
ru.TypSerwera=Выберите тип сервера MS SQL

pl.TypSerweraRozwiniecie=Proszę wybrać która wersja serwera MS SQL ma zostać zainstalowana
en.TypSerweraRozwiniecie=Please choose witch version of MS SQL server want to install
ru.TypSerweraRozwiniecie=Пожалуйста, выберите версию сервера MS SQL для установки

pl.TypSerwera2008=Microsoft SQL 2008 Express
en.TypSerwera2008=Microsoft SQL 2008 Express
ru.TypSerwera2008=Microsoft SQL 2008 Express

pl.TypSerwera2012=Microsoft SQL 2012 Express
en.TypSerwera2012=Microsoft SQL 2012 Express
ru.TypSerwera2012=Microsoft SQL 2012 Express

pl.TypSerweraBrak=Nie instaluj serwera SQL. Podłącz baze do istniejącej już instancji MS SQL.
en.TypSerweraBrak=Do not install the SQL server. Attache databese to existing MS SQL instance.
ru.TypSerweraBrak=Не устанавливайте сервер SQL, подключите базу к существующему серверу MS SQL.

pl.TypSerweraWybor=Zainstaluj serwer MS SQL
en.TypSerweraWybor=Install the MS SQL server
ru.TypSerweraWybor=Установить сервер MS SQL

pl.PodlaczanieBazy=Podłączenie bazy danych.
en.PodlaczanieBazy=Attaching database.
ru.PodlaczanieBazy=Подключение базы данных

pl.PodlaczanieBazyRozwiniecie=Proszę wybrać parametry zainstalowanego serwera MS SQL w celu prawidłowego podłączenia bazy dancyh systemu PasCom.
en.PodlaczanieBazyRozwiniecie=Please choose the parameters of the installed MS SQL server to correctly attaching database of PasCom system.
ru.PodlaczanieBazyRozwiniecie=Пожалуйста, выберите параметры установленного сервера MYSQL для корректного подключения базы данных системы PasCom.

pl.TypAutoryzacja=Zaloguj się do serwera SQL.
en.TypAutoryzacja=Connect to SQL server.
ru.TypAutoryzacja=Подключение к серверу SQL.

pl.AutoryzacjaWindows=Użyj uwierzytelniania Windows
en.AutoryzacjaWindows=Use Windows authorization
ru.AutoryzacjaWindows=Авторизация с помощью Windows

pl.AutoryzacjaSql=Użyj uwierzytelniania SQL
en.AutoryzacjaSql=Use SQL authorization
ru.AutoryzacjaSql=Авторизация с помощью SQL

pl.NazwaUzytkownika=Nazwa Użytkownika:
en.NazwaUzytkownika=Username:
ru.NazwaUzytkownika=Имя пользователя:

pl.Haslo=Hasło:
en.Haslo=Password:
ru.Haslo=Пароль:

pl.Serwer=Serwer MS SQL:
en.Serwer=MS SQL server:
ru.Serwer=Сервер MS SQL:

pl.KodLicencji=Parametry instalacyjne
en.KodLicencji=Parameters of instalation
ru.KodLicencji=Параметры установки
                                                                                                                
pl.KodLicencjiRozwiniecie=Proszę podać parametry instalacyjne potrzebne do utworzenia nowej bazy systemu PasCom
en.KodLicencjiRozwiniecie=Please provide installation parameters needed to create a new database system PasCom
ru.KodLicencjiRozwiniecie=Пожалуйста, укажите параметры установки, необходимые для создания новой базы данных для системы PasCom.

pl.SkrotOpis=Nazwa Skrócona
pl.SkrotOpis=Short Name
ru.SkrotOpis=Сокращенное название

pl.PelnaOpis=Pełna nazwa Firmy
pl.PelnaOpis=Full name of the Company
ru.PelnaOpis=Полное название фирмы

pl.PodajKod=Wczytaj kod licencji:
pl.PodajKod=Load license code:
ru.PodajKod=Укажите код лицензии:

pl.Nip=NIP:
en.Nip=NIP:
ru.Nip=NIP:

pl.Miasto=Miasto:
en.Miasto=City:
ru.Miasto=Город:

pl.KodPocztowy=Kod pocztowy:
en.KodPocztowy=Postal Code:
ru.KodPocztowy=Постовый код:

pl.Ulica=Ulica:
en.Ulica=Street:
ru.Ulica=Улица:

pl.Jezyk=polski
en.Jezyk=english
ru.Jezyk=русский

pl.Odinstaluj=Odinstaluj
en.Odinstaluj=Uninstall
ru.Odinstaluj=Деинсталляция

pl.StworzIkone=Stwórz ikonę na pulpicie
en.StworzIkone=Create a desktop icon
ru.StworzIkone=Создать иконку на рабочем столе

pl.DodatkoweIkony="Dodatkowe ikony:"
en.DodatkoweIkony="Additional icons:"
ru.DodatkoweIkony="Дополнительные иконки:"

pl.StworzIkoneWszyscy=dla wszystkich użytkowników
en.StworzIkoneWszyscy=for all users
ru.StworzIkoneWszyscy=для всех пользователей

pl.StworzIkoneObecny=dla obecnego użytkownika
en.StworzIkoneObecny=for current user only
ru.StworzIkoneObecny=для актуального пользователя

pl.StworzIkoneSzybkieUruchamianie=Stwórz ikonę na pasku szybkiego uruchamiania
en.StworzIkoneSzybkieUruchamianie=Create a quick launch icon
ru.StworzIkoneSzybkieUruchamianie=Создать иконку быстрого запуска

pl.KomunikatKodLicencji=Proszę uzupełnić pola:
en.KomunikatKodLicencji=Please complete the fields:
ru.KomunikatKodLicencji=Пожалуйста, заполните поля:

pl.KomunikatSkrot=Nazwa Skrócona
en.KomunikatSkrot=Short Name
ru.KomunikatSkrot=Краткое название

pl.KomunikatPelna=Pełna nazwa Firmy
en.KomunikatPelna=Full name of the Company
ru.KomunikatPelna=Полное название компании

pl.KomunikatNip=NIP
en.KomunikatNip=NIP
ru.KomunikatNip=NIP

pl.KomunikatMiasto=Miasto
en.KomunikatMiasto=City
ru.KomunikatMiasto=Город

pl.KomunikatKodPocztowy=Kod pocztowy
en.KomunikatKodPocztowy=Postal Code
ru.KomunikatKodPocztowy=Почтовый код

pl.KomunikatUlica=Ulica
en.KomunikatUlica=Street
ru.KomunikatUlica=Улица

[Files]
Source: "PasCom\*"; DestDir: "{app}";  Flags: recursesubdirs;

[Icons]
Name: "{group}\PasCom"; Filename: "{app}\PasCom.exe";
Name: "{group}\{cm:Odinstaluj}"; Filename: "{uninstallexe}"
Name: "{userdesktop}\PasCom"; Filename: "{app}\PasCom.exe"; Tasks: desktopicon\user; WorkingDir: "{app}"
Name: "{commondesktop}\PasCom"; Filename: "{app}\PasCom.exe"; Tasks: desktopicon\common; WorkingDir: "{app}"
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\PasCom"; Filename: "{app}\PasCom.exe"; Tasks: quicklaunchicon; WorkingDir: "{app}"

[Tasks]
Name: desktopicon; Description: "{cm:StworzIkone}"; GroupDescription: "{cm:StworzIkone}";
Name: desktopicon\common; Description: "{cm:StworzIkoneWszyscy}"; GroupDescription: "{cm:StworzIkone}"; Flags: exclusive
Name: desktopicon\user; Description: "{cm:StworzIkoneObecny}"; GroupDescription: "{cm:StworzIkone}"; Flags: exclusive unchecked
Name: quicklaunchicon; Description: "{cm:StworzIkoneSzybkieUruchamianie}"; GroupDescription: "{cm:StworzIkone}"; Flags: unchecked

[  Code]
var
  WyborWersji : TInputOptionWizardPage;
  RodzajInstalacji : TInputOptionWizardPage;
  TypSerwera : TWizardPage;
  Button: TNewButton;
  PodlaczanieBazy : TWizardPage;
  KodLicencji : TWizardPage;
  CheckBox: TNewCheckBox;
  SerwerInstancja: TNewComboBox;
  Licencja: TInputFileWizardPage;
  NazwaInstancji : String;
  NazwaZrodlaODBC : String;
  PlikInstalacyjny : String;
  Edit, Skrot, Pelna, Nip, Miasto, Ulica, KodPocztowy: TNewEdit;
  TypAutoryzacji : TLabel;
  Uzytkownik, Haslo, ProgressBarLabel, Serwer, Kod, SkrotOpis, PelnaOpis, NipOpis, MiastoOpis, KodPocztowyOpis, UlicaOpis: TNewStaticText;
  PasswordEdit: TPasswordEdit;
  {Specjalna wersja to wersja dla konkretnego klienta, jezeli ustawimy to na True to zmianiamy jeszcze stala Demo na np. 'Aplikacja dla Szerwal' i mamy}
  CzySpecjalnaWersja : Boolean;
  CheckListBox, TypSerweraCheckListBox, AutoryzacjaCheckListBox: TNewCheckListBox;

procedure ButtonOnClick(Sender: TObject);
var 
Filename: String;
begin
    GetOpenFileName('', Filename, '',
     'Text Documents (*.key)|*.key|', 'txt');
end;
procedure CheckListBoxClick(Sender: TObject);
begin
//MsgBox('You clicked the image!', mbInformation, mb_Ok);
  Edit.Enabled := AutoryzacjaCheckListBox.ItemIndex = 1;
  PasswordEdit.Enabled := AutoryzacjaCheckListBox.Itemindex = 1;
  Haslo.Enabled := AutoryzacjaCheckListBox.Itemindex = 1;
  Uzytkownik.Enabled := AutoryzacjaCheckListBox.Itemindex = 1;
                           
end;
  

procedure InitializeWizard;
begin
  { Create the pages }

  WyborWersji := CreateInputOptionPage(wpLicense,
    ExpandConstant('{cm:WyborWersji}'), '',
    ExpandConstant('{cm:WyborWersjiRozwiniecie}'),
    True, False);
  WyborWersji.Add(ExpandConstant('{cm:Demo}'));
  WyborWersji.Add(ExpandConstant('{cm:Aplikacja}'));
  WyborWersji.Add(ExpandConstant('{cm:AplikacjaServer}'));
  WyborWersji.SelectedValueIndex := 0;
  CzySpecjalnaWersja := False;

  RodzajInstalacji := CreateInputOptionPage(WyborWersji.ID,
         ExpandConstant('{cm:RodzajInstalacji}'), '',
         ExpandConstant('{cm:RodzajInstalacjiRozwiniecie}'),
         True, False);
  RodzajInstalacji.Add(ExpandConstant('{cm:RodzajInstalacjiTypowa}'));
  RodzajInstalacji.Add(ExpandConstant('{cm:RodzajInstalacjiZaawansowana}'));
  RodzajInstalacji.SelectedValueIndex := 0;

//********************************************Wybor serwera

  TypSerwera := CreateCustomPage(RodzajInstalacji.ID,
    ExpandConstant('{cm:TypSerwera}'),
    ExpandConstant('{cm:TypSerweraRozwiniecie}'));
  TypSerweraCheckListBox := TNewCheckListBox.Create(TypSerwera);
  TypSerweraCheckListBox.Width := TypSerwera.SurfaceWidth;
  TypSerweraCheckListBox.Height := ScaleY(97);
  TypSerweraCheckListBox.BorderStyle := bsNone;
  TypSerweraCheckListBox.ParentColor := True;
  TypSerweraCheckListBox.MinItemHeight := WizardForm.TasksList.MinItemHeight;
  TypSerweraCheckListBox.ShowLines := False;
  TypSerweraCheckListBox.WantTabs := True;
  TypSerweraCheckListBox.Parent := TypSerwera.Surface;
  TypSerweraCheckListBox.AddRadioButton(ExpandConstant('{cm:TypSerweraWybor}'), '', 0, True, True, nil);      //
    TypSerweraCheckListBox.AddRadioButton(ExpandConstant('{cm:TypSerwera2008}'), '', 1, True, True, nil);
    TypSerweraCheckListBox.AddRadioButton(ExpandConstant('{cm:TypSerwera2012}'), '', 1, False, True, nil);
  TypSerweraCheckListBox.AddRadioButton(ExpandConstant('{cm:TypSerweraBrak}'), '', 0, False, True, nil);

  PodlaczanieBazy := CreateCustomPage(Typserwera.ID,
    ExpandConstant('{cm:PodlaczanieBazy}'),
    ExpandConstant('{cm:PodlaczanieBazyRozwiniecie}'));
  TypAutoryzacji := TLabel.Create(PodlaczanieBazy);
    with TypAutoryzacji do
  begin
    Parent := PodlaczanieBazy.Surface;
    Caption := ExpandConstant('{cm:TypAutoryzacja}');
    Left := ScaleX(24);
    Top := ScaleY(72);
    Width := ScaleX(87);
    Height := ScaleY(13);
    Enabled := False;
  end;
  AutoryzacjaCheckListBox := TNewCheckListBox.Create(PodlaczanieBazy);
  AutoryzacjaCheckListBox.Width := PodlaczanieBazy.SurfaceWidth;
  AutoryzacjaCheckListBox.Height := ScaleY(97);
  AutoryzacjaCheckListBox.BorderStyle := bsNone;
  AutoryzacjaCheckListBox.ParentColor := True;
  AutoryzacjaCheckListBox.MinItemHeight := WizardForm.TasksList.MinItemHeight;
  AutoryzacjaCheckListBox.ShowLines := False;
  AutoryzacjaCheckListBox.WantTabs := True;
  AutoryzacjaCheckListBox.Parent := PodlaczanieBazy.Surface;
  AutoryzacjaCheckListBox.AddRadioButton(ExpandConstant('{cm:AutoryzacjaWindows}'), '', 0, True, True, nil);
  AutoryzacjaCheckListBox.OnClick := @CheckListBoxClick;
  
 
  Edit := TNewEdit.Create(PodlaczanieBazy);
  Edit.HideSelection := false;
  Edit.Top := ScaleY(50);
  Edit.Left := ScaleX(130);
  Edit.Width := ScaleX(173);
  Edit.Parent := PodlaczanieBazy.Surface;
  Edit.Enabled := False;
  
  PasswordEdit := TPasswordEdit.Create(PodlaczanieBazy);
  PasswordEdit.Top := + ScaleY(75);
  PasswordEdit.Width := ScaleX(173);
  PasswordEdit.Left := ScaleX(130);
  PasswordEdit.Parent := PodlaczanieBazy.Surface;
  PasswordEdit.Enabled := False;
  
  Uzytkownik := TNewStaticText.Create(PodlaczanieBazy);
  Uzytkownik.Top:= ScaleY(50);
  Uzytkownik.Left := ScaleX(25);
  Uzytkownik.Width := PodlaczanieBazy.SurfaceWidth div 2 - ScaleX(8);
  Uzytkownik.Caption := ExpandConstant('{cm:NazwaUzytkownika}');
  Uzytkownik.Parent := PodlaczanieBazy.Surface;
  Uzytkownik.Enabled := False;

  Haslo := TNewStaticText.Create(PodlaczanieBazy);
  //Haslo.Left := PodlaczanieBazy.SurfaceWidth - Uzytkownik.Width;
  Haslo.Top := + ScaleY(75);
  Haslo.Left := ScaleX(25);
  Haslo.Width := Uzytkownik.Width;
  Haslo.Caption := ExpandConstant('{cm:Haslo}');
  Haslo.Parent := PodlaczanieBazy.Surface;
  Haslo.Enabled := False;

  AutoryzacjaCheckListBox.AddRadioButton(ExpandConstant('{cm:AutoryzacjaSql}'), '', 0, False, True, nil);

  SerwerInstancja := TNewComboBox.Create(PodlaczanieBazy);
  SerwerInstancja.Width := PodlaczanieBazy.SurfaceWidth;
  SerwerInstancja.Parent := PodlaczanieBazy.Surface;
  SerwerInstancja.Top := + ScaleY(130);
  SerwerInstancja.Width := ScaleX(173);
  SerwerInstancja.Left := ScaleX(130);
  //SerwerInstancja.Style := csDropDownList;
  //SerwerInstancja.Items.Add('Wybór instancji');
  SerwerInstancja.ItemIndex := 0;

  Serwer := TNewStaticText.Create(PodlaczanieBazy);
  Serwer.Top := + ScaleY(130);
  Serwer.Left := ScaleX(25);
  Serwer.Width := SerwerInstancja.Width;
  Serwer.Caption := ExpandConstant('{cm:Serwer}');
  Serwer.Parent := PodlaczanieBazy.Surface;
 

  KodLicencji := CreateCustomPage(PodlaczanieBazy.ID,
    ExpandConstant('{cm:KodLicencji}'),
    ExpandConstant('{cm:KodLicencjiRozwiniecie}'));
  Button := TNewButton.Create(KodLicencji);
  //Button.Top := ScaleY(10);
  Button.Left := ScaleY(120);
  Button.Width := ScaleX(90);
  Button.Height := ScaleY(23);
  Button.Caption := 'Otwórz';
  Button.OnClick := @ButtonOnClick;
  Button.Parent := KodLicencji.Surface;

  Kod := TNewStaticText.Create(KodLicencji);
  Kod.Top:= ScaleY(2);
  Kod.Caption := ExpandConstant('{cm:PodajKod}');
  Kod.Parent := KodLicencji.Surface;

  Skrot := TNewEdit.Create(KodLicencji);
  Skrot.Top := ScaleY(40);
  Skrot.Left := ScaleX(100);
  Skrot.Width := ScaleX(173);
  Skrot.Parent := KodLicencji.Surface;
  Skrot.Enabled := True;
  
  SkrotOpis := TNewStaticText.Create(KodLicencji);
  SkrotOpis.Top:= ScaleY(40);
  //SkrotOpis.Left := ScaleX(25);
  SkrotOpis.Caption := ExpandConstant('{cm:SkrotOpis}');
  SkrotOpis.Parent := KodLicencji.Surface;
  SkrotOpis.Enabled := True;

  Pelna := TNewEdit.Create(KodLicencji);
  Pelna.Top := ScaleY(65);
  Pelna.Left := ScaleX(100);
  Pelna.Width := ScaleX(173);
  Pelna.Parent := KodLicencji.Surface;
  Pelna.Enabled := True;
  
  PelnaOpis := TNewStaticText.Create(KodLicencji);
  PelnaOpis.Top:= ScaleY(65);
  //PelnaOpis.Left := ScaleX(25);
  PelnaOpis.Caption := ExpandConstant('{cm:PelnaOpis}');
  PelnaOpis.Parent := KodLicencji.Surface;
  PelnaOpis.Enabled := True;

  Nip := TNewEdit.Create(KodLicencji);
  Nip.Top := ScaleY(90);
  Nip.Left := ScaleX(100);
  Nip.Width := ScaleX(173);
  Nip.Parent := KodLicencji.Surface;
  Nip.Enabled := True;
 
  
  NipOpis := TNewStaticText.Create(KodLicencji);
  NipOpis.Top:= ScaleY(90);
  //PelnaOpis.Left := ScaleX(25);
  NipOpis.Caption := ExpandConstant('{cm:Nip}');
  NipOpis.Parent := KodLicencji.Surface;
  NipOpis.Enabled := True;
  

  Miasto := TNewEdit.Create(KodLicencji);
  Miasto.Top := ScaleY(115);
  Miasto.Left := ScaleX(100);
  Miasto.Width := ScaleX(173);
  Miasto.Parent := KodLicencji.Surface;
  Miasto.Enabled := True;
  
  MiastoOpis := TNewStaticText.Create(KodLicencji);
  MiastoOpis.Top:= ScaleY(115);
  //PelnaOpis.Left := ScaleX(25);
  MiastoOpis.Caption := ExpandConstant('{cm:Miasto}');
  MiastoOpis.Parent := KodLicencji.Surface;
  MiastoOpis.Enabled := True;
  
  KodPocztowy := TNewEdit.Create(KodLicencji);
  KodPocztowy.Top := ScaleY(140);
  KodPocztowy.Left := ScaleX(100);
  KodPocztowy.Width := ScaleX(173);
  KodPocztowy.Parent := KodLicencji.Surface;
  KodPocztowy.Enabled := True;
  
  KodPocztowyOpis := TNewStaticText.Create(KodLicencji);
  KodPocztowyOpis.Top:= ScaleY(140);
  //PelnaOpis.Left := ScaleX(25);
  KodPocztowyOpis.Caption := ExpandConstant('{cm:KodPocztowy}');
  KodPocztowyOpis.Parent := KodLicencji.Surface;
  KodPocztowyOpis.Enabled := True;  

  Ulica := TNewEdit.Create(KodLicencji);
  Ulica.Top := ScaleY(165);
  Ulica.Left := ScaleX(100);
  Ulica.Width := ScaleX(173);
  Ulica.Parent := KodLicencji.Surface;
  Ulica.Enabled := True;
  

  
  UlicaOpis := TNewStaticText.Create(KodLicencji);
  UlicaOpis.Top:= ScaleY(165);
  //PelnaOpis.Left := ScaleX(25);
  UlicaOpis.Caption := ExpandConstant('{cm:Ulica}');
  UlicaOpis.Parent := KodLicencji.Surface;
  UlicaOpis.Enabled := True;
                     
end;

function ShouldSkipPage(PageID: Integer): Boolean;
begin
 { Skip pages that shouldn't be shown }
 Result := False;

 if (PageID = RodzajInstalacji.ID) and (Wyborwersji.SelectedValueIndex <> 2) 
   then Result := True;

 if (PageID = TypSerwera.ID) and ((RodzajInstalacji.SelectedValueIndex <> 1) or (Wyborwersji.SelectedValueIndex <> 2)) 
   then Result := True;

  if (PageID = PodlaczanieBazy.ID) and ((not TypSerweraCheckListBox.Checked[3]) or (RodzajInstalacji.SelectedValueIndex <> 1) or (Wyborwersji.SelectedValueIndex <> 2)) 
   then Result := True;
        
  if (PageID = KodLicencji.ID) and (Wyborwersji.SelectedValueIndex <> 2)
   then Result := True;    
       
end;

function NextButtonClick(CurPageID: Integer): Boolean;
var
  ResultCode : Integer;
  BrakWypelnienia : String;
  begin
  Result := True;
  BrakWypelnienia := ExpandConstant('{cm:KomunikatKodLicencji}');
  { Validate certain pages before allowing the user to proceed }
  
  if CurPageID = RodzajInstalacji.ID then
    begin
     MsgBox('You clicked the image!', mbInformation, mb_Ok);
     end 

  if CurPageID = KodLicencji.ID then
    
    begin
      if Skrot.Text = nil then
        begin
         BrakWypelnienia := BrakWypelnienia + #13#10#13#10 + ExpandConstant('{cm:KomunikatSkrot}'); 
         Result := False;
        end;
      if Pelna.Text = nil then
        begin
          BrakWypelnienia := BrakWypelnienia + #13#10 + ExpandConstant('{cm:KomunikatPelna}');
          Result := False;
        end;
      if Nip.Text = nil then
        begin
         BrakWypelnienia := BrakWypelnienia + #13#10 + ExpandConstant('{cm:KomunikatNip}');
          Result := False;
        end;
      if Miasto.Text = nil then
        begin
         BrakWypelnienia := BrakWypelnienia + #13#10 + ExpandConstant('{cm:KomunikatMiasto}');
          Result := False;
        end;
      if KodPocztowy.Text = nil then
        begin
         BrakWypelnienia := BrakWypelnienia + #13#10 + ExpandConstant('{cm:KomunikatKodPocztowy}');
          Result := False;
        end;
      if Ulica.Text = nil then
        begin
         BrakWypelnienia := BrakWypelnienia + #13#10 + ExpandConstant('{cm:KomunikatUlica}');
          Result := False;
        end;
       if Result = False then
       MsgBox(BrakWypelnienia, mbInformation, mb_Ok)
    end

  if CurPageID = WyborWersji.ID then
  begin
     
    if WyborWersji.SelectedValueIndex = 0 then
    begin
   
      {Specjalna wersja to wersja dla konkretnego klienta}
      if CzySpecjalnaWersja then
      begin
         NazwaInstancji := 'PASCOM';
        NazwaZrodlaODBC := 'pascom';
      end
      else
      begin
        NazwaInstancji := 'PASCOM_DEMO';
        NazwaZrodlaODBC := 'pascom_demo';
        PlikInstalacyjny := 'SQLEXPR_x86_ENU.exe';
      end;
      
     Exec(GetCurrentDir + '\Microsoft\' + PlikInstalacyjny, '/QS /ACTION=Install /INSTANCENAME=' + NazwaInstancji + ' /INSTANCEID=' + NazwaInstancji + ' /QUIETSIMPLE=True /SKIPRULES=RebootRequiredCheck /SQLSVCACCOUNT="NT AUTHORITY\NETWORK SERVICE" /AGTSVCACCOUNT="NT AUTHORITY\Network Service" /FEATURES=SQLENGINE /SQLSVCSTARTUPTYPE=Automatic /SECURITYMODE=SQL /SAPWD=S3l3cti0n@', '',SW_SHOW,ewWaitUntilTerminated, ResultCode);

    end
    else
    if WyborWersji.SelectedValueIndex = 2 then
    begin

       
     
    end
    else
      begin
          NazwaInstancji := 'PASCOM';
          NazwaZrodlaODBC := 'pascom';
      end
  end;
  
  if Assigned(RodzajInstalacji) and (CurPageID = RodzajInstalacji.ID) then
      begin
       if RodzajInstalacji.SelectedValueIndex = 0 then
        begin
         NazwaInstancji := 'PASCOM';
         NazwaZrodlaODBC := 'pascom';
         Exec(GetCurrentDir + '\Installer.exe', '"' + ExpandConstant('{pf}') + '\Microsoft SQL Server" "' + NazwaInstancji + '" ', '',SW_SHOW,ewWaitUntilTerminated, ResultCode);
        end
       else
        if RodzajInstalacji.SelectedValueIndex = 1 then
          begin
          end
      end;
  
  if CurPageID = wpFinished then
  begin
    RegWriteStringValue(HKEY_CURRENT_USER, 'Software\ODBC\ODBC.INI\ODBC Data Sources',
      NazwaZrodlaODBC, 'SQL Server');
      
    RegWriteStringValue(HKEY_CURRENT_USER, 'Software\ODBC\ODBC.INI\' + NazwaZrodlaODBC,
      'Server', 'localhost\' + NazwaInstancji);
      
    RegWriteStringValue(HKEY_CURRENT_USER, 'Software\ODBC\ODBC.INI\' + NazwaZrodlaODBC,
      'Database', 'pascom');
      
    RegWriteStringValue(HKEY_CURRENT_USER, 'Software\ODBC\ODBC.INI\' + NazwaZrodlaODBC,
      'Driver', ExpandConstant('{syswow64}') + '\SQLSRV32.dll');
      
    RegWriteStringValue(HKEY_CURRENT_USER, 'Software\ODBC\ODBC.INI\' + NazwaZrodlaODBC,
      'LastUser', 'pascom');
      
    RegWriteStringValue(HKEY_CURRENT_USER, 'Software\ODBC\ODBC.INI\' + NazwaZrodlaODBC,
      'Language', ExpandConstant('{cm:Jezyk}'));
      
      
    if NazwaZrodlaODBC = 'pascom' then
    begin
      RegWriteStringValue(HKEY_CURRENT_USER, 'PasCom Transport\Login','eUsername_Text','admin');
      RegWriteStringValue(HKEY_CURRENT_USER, 'PasCom Transport\Login','eDatabase_Text','pascom');
    end
    else
    begin
      RegWriteStringValue(HKEY_CURRENT_USER, 'PasCom Transport\Login','eUsername_Text','demo');
      RegWriteStringValue(HKEY_CURRENT_USER, 'PasCom Transport\Login','eDatabase_Text','pascom_demo');
    end;
    
    RegWriteStringValue(HKEY_CURRENT_USER, 'PasCom Transport\Login','edProductIdent_Text','pascom');
    RegWriteStringValue(HKEY_CURRENT_USER, 'PasCom Transport\Login','edProductKey_Text','S3l3cti0n@');
    RegWriteStringValue(HKEY_CURRENT_USER, 'PasCom Transport\Login','combLang_ItemIndex','0');
    RegWriteStringValue(HKEY_CURRENT_USER, 'PasCom Transport\Login','cbServerType_ItemIndex','1');
  end;
  
  
end;

procedure DeinitializeUninstall();
begin
  RegDeleteKeyIncludingSubkeys(HKEY_CURRENT_USER,'Software\ODBC\ODBC.INI\pascom');
  RegDeleteValue(HKEY_CURRENT_USER, 'Software\ODBC\ODBC.INI\ODBC Data Sources\','pascom');
  RegDeleteKeyIncludingSubkeys(HKEY_CURRENT_USER,'Software\ODBC\ODBC.INI\pascom_demo');
  RegDeleteValue(HKEY_CURRENT_USER, 'Software\ODBC\ODBC.INI\ODBC Data Sources\','pascom_demo');
end;


//*********************************Sprawdzenie wersiji Windows
//
function InitializeSetup: Boolean;
var
  Version: TWindowsVersion;
  S: String;
begin
  GetWindowsVersionEx(Version);

  // Disallow installation on Home edition of Windows
  if Version.SuiteMask and VER_SUITE_PERSONAL <> 0 then
  begin
    SuppressibleMsgBox('This program cannot be installed on a Home edition of Windows.',
      mbCriticalError, MB_OK, MB_OK);
    Result := False;
    Exit;
  end;

  // Disallow installation on domain controllers
  if Version.ProductType = VER_NT_DOMAIN_CONTROLLER then
  begin
    SuppressibleMsgBox('This program cannot be installed on domain controllers.',
      mbCriticalError, MB_OK, MB_OK);
    Result := False;
    Exit;
  end;

  // On Windows 2000, check for SP4
  if Version.NTPlatform and
     (Version.Major = 5) and
     (Version.Minor = 0) and
     (Version.ServicePackMajor < 4) then
  begin
    SuppressibleMsgBox('When running on Windows 2000, Service Pack 4 is required.',
      mbCriticalError, MB_OK, MB_OK);
    Result := False;
    Exit;
  end;

  // On Windows XP, check for SP2
  if Version.NTPlatform and
     (Version.Major = 5) and
     (Version.Minor = 1) and
     (Version.ServicePackMajor < 2) then
  begin
    SuppressibleMsgBox('When running on Windows XP, Service Pack 2 is required.',
      mbCriticalError, MB_OK, MB_OK);
    Result := False;
    Exit;
  end;

  Result := True;
end;

Благодарю!

Отправлено: 12:19, 17-04-2015 | #496