GloThin
Тобольский шашлычник | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору ;Script by Sampron Edit by NightW0lf для "проверки ОС пользователя".//исправленному верить - GloThin [Setup] ;Название программы - инсталлятора, а также заголовок инсталлятора, (пожеланию можно версию указать): AppName=Check_Sys_Requir ;Версия программы - инсталлятора, (пожеланию можно указать - название + версию): AppVerName=1.1 ;Директория установки для программы - инсталлятора: DefaultDirName=C:\Check_Sys_Requir ;Название выходного файла компилятора: OutputBaseFilename=Check_Sys_Requir UserInfoPage=True Compression=lzma/ultra SolidCompression=yes InternalCompressLevel=ultra [Code] var state: boolean; procedure CurPageChanged(CurPageID: Integer); var Page: TWizardPage; Text: TNewStaticText; Memo,Windows,SP,Version,Build,registered,WindowsName,SP_Num,Version_Num,Build_num,registered_name: TMemo; Os: string; // строка с названием необходимой ОС // state: boolean; begin if CurPageID = wpUserInfo then begin //подменяем сраницу информации о пользователе на информацию об ОС wizardForm.UserInfoNameEdit.visible:=false; wizardForm.UserInfoNameEdit.text:='Игрок'; //на случай, когда имя пользователя не указано в системе wizardForm.UserInfoNameLabel.visible:=false; wizardForm.UserInfoOrgLabel.visible:=false; wizardForm.UserInfoOrgEdit.visible:=false; wizardForm.UserInfoOrgEdit.text:='Группа игроков ';//на случай, когда организация не указано в системе wizardForm.PageNameLabel.Caption := 'Операционная система'; wizardForm.PageDescriptionLabel.Caption := 'Программа установки обнаружила следующую Операционную систему '; OS:=' Microsoft Windows XP Service Pack 2'; //строка является суммой из записей в реестре о б Наименовании ОС и сервис-паке Windows := TMemo.Create(WizardForm); with Windows do begin Text := ' Windows'; Parent := WizardForm.UserInfoPage; Left := ScaleX(0); //оригинал S.T.A.L.K.E.R. Top := ScaleY(30); Width := ScaleX(106); //оригинал S.T.A.L.K.E.R. Height := ScaleY(22); //оригинал S.T.A.L.K.E.R. ReadOnly := True; Color := clBtnFace; end SP := TMemo.Create(WizardForm); with SP do begin Text := ' Service Pack'; Parent := WizardForm.UserInfoPage; Left := ScaleX(0); //оригинал S.T.A.L.K.E.R. Top := ScaleY(57); Width := ScaleX(106); //оригинал S.T.A.L.K.E.R. Height := ScaleY(22); //оригинал S.T.A.L.K.E.R. ReadOnly := True; Color := clBtnFace; end Version := TMemo.Create(WizardForm); with Version do begin Text := ' Version'; Parent := WizardForm.UserInfoPage; Left := ScaleX(0); //оригинал S.T.A.L.K.E.R. Top := ScaleY(84); Width := ScaleX(106); //оригинал S.T.A.L.K.E.R. Height := ScaleY(22); //оригинал S.T.A.L.K.E.R. ReadOnly := True; Color := clBtnFace; end Build := TMemo.Create(WizardForm); with Build do begin Text := ' Build'; Parent := WizardForm.UserInfoPage; Left := ScaleX(0); //оригинал S.T.A.L.K.E.R. Top := ScaleY(111); Width := ScaleX(106); //оригинал S.T.A.L.K.E.R. Height := ScaleY(22); //оригинал S.T.A.L.K.E.R. ReadOnly := True; Color := clBtnFace; end registered := TMemo.Create(WizardForm); with registered do begin Text := ' Registered'; Parent := WizardForm.UserInfoPage; Left := ScaleX(0); //оригинал S.T.A.L.K.E.R. Top := ScaleY(138); Width := ScaleX(106); //оригинал S.T.A.L.K.E.R. Height := ScaleY(22); //оригинал S.T.A.L.K.E.R. ReadOnly := True; Color := clBtnFace; end if ExpandConstant('{reg:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion,ProductName|}')='' then begin WindowsName := TMemo.Create(WizardForm); with WindowsName do begin Text := ExpandConstant(' {reg:HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion,ProductName|}'); Parent := WizardForm.UserInfoPage; Left := ScaleX(110); //оригинал S.T.A.L.K.E.R. Top := ScaleY(30); Width := ScaleX(304); //оригинал S.T.A.L.K.E.R. Height := ScaleY(22); //оригинал S.T.A.L.K.E.R. ReadOnly := True; Color := $CCFFCC; end SP_Num := TMemo.Create(WizardForm); with SP_Num do begin Text := ExpandConstant(' {reg:HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion,CSDVersion|}'); Parent := WizardForm.UserInfoPage; Left := ScaleX(110); //оригинал S.T.A.L.K.E.R. Top := ScaleY(57); Width := ScaleX(304); //оригинал S.T.A.L.K.E.R. Height := ScaleY(22); //оригинал S.T.A.L.K.E.R. ReadOnly := True; Color := $CCFFCC; end Version_Num := TMemo.Create(WizardForm); with Version_Num do begin Text := ExpandConstant(' {reg:HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion,CurrentVersion|}'); Parent := WizardForm.UserInfoPage; Left := ScaleX(110); //оригинал S.T.A.L.K.E.R. Top := ScaleY(84); Width := ScaleX(304); //оригинал S.T.A.L.K.E.R. Height := ScaleY(22); //оригинал S.T.A.L.K.E.R. ReadOnly := True; Color := $CCFFCC; end Build_num := TMemo.Create(WizardForm); with Build_num do begin Text := ExpandConstant(' {reg:HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion,CurrentBuildNumber|}'); Parent := WizardForm.UserInfoPage; Left := ScaleX(110); //оригинал S.T.A.L.K.E.R. Top := ScaleY(111); Width := ScaleX(304); //оригинал S.T.A.L.K.E.R. Height := ScaleY(22); //оригинал S.T.A.L.K.E.R ReadOnly := True; Color := $CCFFCC; end registered_name := TMemo.Create(WizardForm); with registered_name do begin Text := ExpandConstant(' {reg:HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion,RegisteredOwner|}'); Parent := WizardForm.UserInfoPage; Left := ScaleX(110); //оригинал S.T.A.L.K.E.R. Top := ScaleY(138); Width := ScaleX(304); //оригинал S.T.A.L.K.E.R. Height := ScaleY(22); //оригинал S.T.A.L.K.E.R. ReadOnly := True; Color := $CCFFCC; end; end; // Проверка Windows 9x if ExpandConstant('{reg:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion,ProductName|}')<>'' then begin WindowsName := TMemo.Create(WizardForm); with WindowsName do begin Text := ExpandConstant(' {reg:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion,ProductName|}'); Parent := WizardForm.UserInfoPage; Left := ScaleX(110); //оригинал S.T.A.L.K.E.R. Top := ScaleY(30); Width := ScaleX(304); //оригинал S.T.A.L.K.E.R. Height := ScaleY(22); //оригинал S.T.A.L.K.E.R. ReadOnly := True; Color := $CCFFCC; end SP_Num := TMemo.Create(WizardForm); with SP_Num do begin Text := ExpandConstant(' {reg:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion,CSDVersion|}'); Parent := WizardForm.UserInfoPage;; Left := ScaleX(110); //оригинал S.T.A.L.K.E.R. Top := ScaleY(57); Width := ScaleX(304); //оригинал S.T.A.L.K.E.R. Height := ScaleY(22); //оригинал S.T.A.L.K.E.R. ReadOnly := True; Color := $CCFFCC; end Version_Num := TMemo.Create(WizardForm); with Version_Num do begin Text := ExpandConstant(' {reg:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion,VersionNumber|}'); Parent := WizardForm.UserInfoPage; Left := ScaleX(110); //оригинал S.T.A.L.K.E.R. Top := ScaleY(84); Width := ScaleX(304); //оригинал S.T.A.L.K.E.R. Height := ScaleY(22); //оригинал S.T.A.L.K.E.R. ReadOnly := True; Color := $CCFFCC; end Build_num := TMemo.Create(WizardForm); with Build_num do begin Text := ExpandConstant(' {reg:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion,ProductType|}'); Parent := WizardForm.UserInfoPage; Left := ScaleX(110); //оригинал S.T.A.L.K.E.R. Top := ScaleY(111); Width := ScaleX(304); //оригинал S.T.A.L.K.E.R. Height := ScaleY(22); //оригинал S.T.A.L.K.E.R ReadOnly := True; Color := $CCFFCC; end registered_name := TMemo.Create(WizardForm); with registered_name do begin Text := ExpandConstant(' {reg:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion,RegisteredOwner|}'); Parent := WizardForm.UserInfoPage; Left := ScaleX(110); //оригинал S.T.A.L.K.E.R. Top := ScaleY(138); Width := ScaleX(304); //оригинал S.T.A.L.K.E.R. Height := ScaleY(22); //оригинал S.T.A.L.K.E.R. ReadOnly := True; Color := $CCFFCC; end end; if OS=(WindowsName.Text+SP_Num.Text) then state:=true else state:=false; Text := TNewStaticText.Create(WizardForm); with Text do begin Left := 0; Top := 0; Width := 417; Height := 14; if state then begin Font.Color:=clGreen; WindowsName.color:=$CCFFCC; SP_Num.color:=$CCFFCC; Caption := 'Операционная система соответствует требованиям игры.'; end else begin Font.Color:=clREd; WindowsName.color:=clRed; SP_Num.color:=clRed; Caption := 'Операционная система не соответствует требованиям игры.'; end Parent := WizardForm.UserInfoPage; end Text := TNewStaticText.Create(TNewStaticText.Create(WizardForm)); with Text do begin Left := 0; Top := 220; Width := 417; Height := 14; Caption := 'Когда Вы будете готовы продолжить установку, нажмите «Далее».'; Parent := WizardForm.UserInfoPage; end if not state then begin wizardForm.Nextbutton.enabled:=false; end; end; end; procedure InitializeWizard(); begin end; |