Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

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

Пользователь


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

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


Nordek,
code
Код: Выделить весь код
[Setup]
AppId={{B5C6D58E-3D57-4255-937B-36F6B94FFD7F}
AppName=TEST 
AppVerName=TEST 
OutputDir=userdocs:..\Desktop
CreateAppDir=no
Uninstallable=no

[*Code]
function VersionWindows (Major, Minor: Integer): Boolean; var
    Version: TWindowsVersion;
  begin
    GetWindowsVersionEx(Version);
    Result:=(Version.Major=Major) and (Version.Minor=Minor);
end;// Этот код проверяет версию Windows

function WindowsAll (): Boolean;
  begin
    Result:=VersionWindows(6,1);// Далее код будет выполнятся, только если установлена система (6.1)
end;// Этот код задает значение версии Windows

function Check_x86 (): Boolean;
  begin
      if not WindowsAll then
    Result:=False
  else begin
      if not IsWin64 then 
      if not RegKeyExists(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages\Package_for_KB2533623_SP1~31bf3856ad364e35~amd64~~6.1.1.2') then
      if MsgBox('Для полноценной работы TEST на Windows 7'#13' Будет установлено обновление  << KB2533623 >>', mbInformation, MB_OK)=IDOK then 
    Result:=True
end
end;// Этот код проверяет наличие обновления << KB2533623 >> на 32-ух битной Windows 7, и устанавливает это обновление при его отсутствии выводя сообщение

function Check_x64 (): Boolean;
  begin
      if not WindowsAll then
    Result:=False
  else begin
      if IsWin64 then 
      if not RegKeyExists(HKLM64, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages\Package_for_KB2533623_SP1~31bf3856ad364e35~amd64~~6.1.1.2') then 
      if MsgBox('Для полноценной работы TEST на Windows 7'#13' Будет установлено обновление  << KB2533623 >>', mbInformation, MB_OK)=IDOK then 
    Result:=True
end
end;// Этот код проверяет наличие обновления << KB2533623 >> на 64-х битной Windows 7, и устанавливает это обновление при его отсутствии выводя сообщение

function UpdateCentre (): Boolean; var
    UpdateCentreDWord: Cardinal;
  begin
      if RegQueryDWordValue(HKLM, 'SYSTEM\CurrentControlSet\services\wuauserv', 'Start', UpdateCentreDWord) then
      if UpdateCentreDWord=4 then
    MsgBox('Центр Обновления  Windows 7  Отключен:'#13'    <<<для продолжения установки>>>'#13'Включите Центр Обновления  Windows 7:'#13'    <<и повторите установку еще раз>>', mbCriticalError, MB_OK) 
  else begin
    Result:=True    
end
end;// Этот код проверяет включен ли Центр Обновления на Windows 7 выводя сообщение

<event('InitializeSetup')>
function InitializeSetup2 (): Boolean;
  begin
      if WindowsAll then
    Result:=UpdateCentre
  else begin
    Result:=True;
end
end;

function ShouldSkipPage(PageID: Integer): Boolean;
  begin
    Result:=(PageID=wpSelectComponents);
end;// Этот код прячет страницу компонентов

[Components]
Name: File_x86; Description: KB2533623 for x86; Flags: exclusive restart; Check: Check_x86
Name: File_x64; Description: KB2533623 for x64; Flags: exclusive restart; Check: Check_x64

[Files]
Source: C:\Windows6.1-KB2533623-x86.msu; DestDir: {tmp}; Flags: deleteafterinstall;
Source: C:\Windows6.1-KB2533623-x64.msu; DestDir: {tmp}; Flags: deleteafterinstall; 

[Run]
Filename: wusa.exe; Parameters: {tmp}\Windows6.1-KB2533623-x86.msu /quiet /norestart; StatusMsg:УСТАНОВКА ОБНОВЛЕНИЯ                                             <<< KB2533623-x86 >>>; Components: File_x86; BeforeInstall: "Sleep(3000)"
Filename: wusa.exe; Parameters: {tmp}\Windows6.1-KB2533623-x64.msu /quiet /norestart; StatusMsg:УСТАНОВКА ОБНОВЛЕНИЯ                                             <<< KB2533623-x64 >>>; Components: File_x64; BeforeInstall: "Sleep(3000)"


вот сочинил пьеску, это четверть от всего кода, на моем ФХ-се инсталятор летает, уже сутки колдую, и все время хочется больше... разговаривать его научить))) непонятно тока как организовать установку при установленом уже на ПК обновлении KB2533623, и выключеном Центре Обновления Windows, чтобы не прекращалась установка MsgBox-ом (Центр Обновления Windows 7 Отключен <<<для продолжения установки>>>)...бла...бла...бла... но то такое надо поспать и в бой потому как я уже просто схожу с ума. идей как говорится полно тока ришения подавай))))

как думаешь реально не прибегая к сторонниму софту на Инно сделать такой инсталлер?
картинка



Последний раз редактировалось Beavimo, 06-02-2020 в 08:28.


Отправлено: 07:29, 06-02-2020 | #530