PoebelundGesocks
Mitglied
(MSVC++ 6)
FILENAME: Windows2000-KB891861-v2-x86-DEU.EXE
Folgendes Problem stellt sich mir. Ich versuche bei Programmstart das .NET Framework 2.0 SP 1 zu installieren ohne User Interaktionen zu benötigen.
Die Voraussetzungen hierfür sind:
W2K SP4,
W2K SP4 Security/Update Rollup,
Windows Installer 3.1
Was einwandfrei funktioniert ist:
Installation vom SP4 auf Systemen W2K Servicepack < SP4 (abgeprüft über die Windows Version)
Installation der W2K SP4 Security/Update Rollup auf einer bestehenden W2K SP4 Installation.
-> Hier funktioniert nicht: Installation des SP4 Security Rollup auf einer bestehenden W2K SP4 Installation mit bereits installiertem SP4 Sec Rollup.
Das Problem dass sich hierbei stellt ist:
Wird die Installation des Security Rollups gestartet und wieder abgebrochen friert mir auch das aufrufende Programm ein - und stürzt schlussendlich ab.
Die Frage: Kann ich irgendwie überprüfen ob dieses Paket bereits installiert ist? In Der Win Version fällt mir kein brauchbarer Wert auf.
Codeausschnitte der Versionsprüfung:
Hier noch der Codeschnipfel zum Starten des Installers:
Falls irgendjemand bereits ein ähnliches Problem hatte oder sonst ne Lösung einfällt wäre ich um Antworten dankbar. (Bevorzugt wäre natürlich eine Prüfung auf die Version - aber ob so oder so ist letztendlich Nebensache
)
MfG Dave
/e: Kleine Anmerkung noch: Der Gedanke das Update als "RunOnce" Eintrag in die Reg zu schreiben kam mir bereits, wird allerdings von meinem Chef nicht "gern gesehen", darum bin ich relativ fixiert auf diesen Weg, bzw. eine Alternative die direkt aus dem Programm heraus lauffähig ist und nicht auf den Reboot nach der SP4 Installation oder ähnliches setzt.
FILENAME: Windows2000-KB891861-v2-x86-DEU.EXE
Folgendes Problem stellt sich mir. Ich versuche bei Programmstart das .NET Framework 2.0 SP 1 zu installieren ohne User Interaktionen zu benötigen.
Die Voraussetzungen hierfür sind:
W2K SP4,
W2K SP4 Security/Update Rollup,
Windows Installer 3.1
Was einwandfrei funktioniert ist:
Installation vom SP4 auf Systemen W2K Servicepack < SP4 (abgeprüft über die Windows Version)
Installation der W2K SP4 Security/Update Rollup auf einer bestehenden W2K SP4 Installation.
-> Hier funktioniert nicht: Installation des SP4 Security Rollup auf einer bestehenden W2K SP4 Installation mit bereits installiertem SP4 Sec Rollup.
Das Problem dass sich hierbei stellt ist:
Wird die Installation des Security Rollups gestartet und wieder abgebrochen friert mir auch das aufrufende Programm ein - und stürzt schlussendlich ab.
Die Frage: Kann ich irgendwie überprüfen ob dieses Paket bereits installiert ist? In Der Win Version fällt mir kein brauchbarer Wert auf.
Codeausschnitte der Versionsprüfung:
Code:
OSVERSIONINFOEX osvi;
BOOL bOsVersionInfoEx;
ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX));
osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
if(!(bOsVersionInfoEx = GetVersionEx((OSVERSIONINFO *) &osvi)) )
{
osvi.dwOSVersionInfoSize = sizeof (OSVERSIONINFO);
}
switch(osvi.dwPlatformId)
{
case VER_PLATFORM_WIN32_NT:
if (osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 0) //Win2k
{
if(osvi.wServicePackMajor >= 4)
{...}
}
Hier noch der Codeschnipfel zum Starten des Installers:
Code:
this->StdWaitDlg(1, _T("Installation des Windows 2K SP4 Security Rollup"), 15);
//Zeigt einen Dlg. mit Fortschrittsbalken
strProcess = strPfad + _T("Windows2000-KB891861-v2-x86-DEU.EXE /q"); //führe "quiet" aus
::CreateProcess(NULL, (char*)(LPCSTR)strProcess, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi); //als Prozess ausführen
//Fortschrittsbalken ermöglichen weiterzulaufen anstatt ::WaitForSingleObject()
do {
VERIFY(::GetExitCodeProcess(pi.hProcess, &dwStatus));
HandleMessage();
Sleep(300);
} while(dwStatus == STILL_ACTIVE);
this->StdWaitDlg(3);
Falls irgendjemand bereits ein ähnliches Problem hatte oder sonst ne Lösung einfällt wäre ich um Antworten dankbar. (Bevorzugt wäre natürlich eine Prüfung auf die Version - aber ob so oder so ist letztendlich Nebensache
![Smile :) :)](https://cdn.jsdelivr.net/joypixels/assets/8.0/png/unicode/64/1f642.png)
MfG Dave
/e: Kleine Anmerkung noch: Der Gedanke das Update als "RunOnce" Eintrag in die Reg zu schreiben kam mir bereits, wird allerdings von meinem Chef nicht "gern gesehen", darum bin ich relativ fixiert auf diesen Weg, bzw. eine Alternative die direkt aus dem Programm heraus lauffähig ist und nicht auf den Reboot nach der SP4 Installation oder ähnliches setzt.
Zuletzt bearbeitet: