Archiv Windows XP 25.916 Themen, 128.567 Beiträge

windows- installer

Fuchs77 / 1 Antworten / Flachansicht Nickles

wie installiere ich bei meinem system windows xp den windows-installer neu??? benötige ich um spiele zu installieren und abspielen zu können!!!

Dungen Keeper Fuchs77 „windows- installer“
Optionen

Microsoft Windows Installer 2.0
Microsoft hat die Version 2.0 der Windows Installer Laufzeitdateien und des Windows Installer SDK freigegeben. Neben Fehlerbehebungen und Unterstützung für Windows XP und 64-Bit-Applikationen enthält diese Version einige neue Eigenschaftswerte (Properties) für Betriebssystem-Informationen. Damit kann man sehr einfach feststellen, ob es sich um die Workstation- oder Server-Variante von Windows NT handelt, oder Windows XP Professional von der Home Edition unterscheiden. Auch das Erstellen von Updates wird einfacher, denn komplizierte Konstruktionen mit ADDLOCAL und REINSTALL sind jetzt nicht mehr nötig. Außerdem ist nach dem Installieren der Laufzeitdateien kein Neustart mehr erforderlich. Erfreulicherweise kann man von diesen Verbesserungen auch in bestehenden Projekten profitieren, allerdings sind teilweise einige Modifikationen im Installations-Tool erforderlich, um die neuen Laufzeitdateien einzubinden. Als Folge der Verbesserungen und Fehlerbehebungen in MSI 2.0 werden sich vorhandene Installationen und Patches möglicherweise ungewohnt verhalten oder sogar fehlschlagen. Selbst wenn Sie MSI 2.0 nicht mit Ihrem eigenen Setup-Paket vertreiben, kann die neue Version bereits auf dem Zielsystem vorhanden sein. Sie sollten MSI 2.0 daher zumindest in Ihre Test-Szenarien einbeziehen.

Letzte Aktualisierung: 2002-01-28

Bezugsquellen für MSI 2.0
Bevor Sie MSI 2.0 ausprobieren, möchte ich Sie warnen: Durch die Installation des neuen SDK werden gemeinsam genutzte Dateien aktualisiert, die InstallShield bei der Erstellung der Setup-Medien verwendet. Um Ihre Produktions-Maschine in einem definierten funktionsfähigen Zustand zu erhalten, bis Sie alle Auswirkungen von MSI 2.0 erforscht haben, sollten Sie eine Test-Maschine verwenden, um mit dem neuen SDK und den Laufzeitdateien zu experimentieren.

Pakete zur Installation der neuesten Laufzeitdateien können von den folgenden Adressen heruntergeladen werden:

Für Windows NT 4 und Windows 2000:
http://www.microsoft.com/downloads/release.asp?releaseid=32832

Für Windows 95, Windows 98 und Windows Me:
http://www.microsoft.com/downloads/release.asp?releaseid=32831

Die Laufzeitdateien sind sprachneutral.

Bitte beachten Sie, dass sich die Systemvoraussetzungen für Windows NT 4 geändert haben. Hier wird jetzt Service Pack 6 benötigt, während bei früheren MSI-Version das Service Pack 3 ausreichend war.

Beide Installationspakete haben den Dateinamen Instmsi.exe. Zur Verwendung mit InstallShield sollten Sie die Unicode-Version (für Windows NT/2000) umbenennen in InstmsiW.exe, und die ANSI-Version (für Windows 95/98/ME) in InstmsiA.exe.

Falls Sie die MSI 2.0 Laufzeitdateien vor dem 25. September 2001 heruntergeladen haben, sollten Sie die Version für Windows 9X nochmals herunterladen.
MSI 2.0 wurde erstmals am 28. August 2001 veröffentlicht, mit der Versionsnummer 2.0.2600.0. Diese Version wurde jedoch etwa drei Wochen später wieder zurückgezogen. Am 25. September wurde MSI 2.0 dann wieder bereitgestellt, mit einer neuen Version 2.0.2600.1 für Windows 9X. Die Unicode-Version ist von dieser Änderung nicht betroffen. Es gibt keine offiziellen Informationen über die Gründe für diesen Vorgang, aber Gerüchten zufolge waren Probleme mit Windows ME entdeckt worden.

Die Dokumentation für Windows Installer 2.0 ist in der Ausgabe August 2001 des Microsoft Platform SDK enthalten. Sie können das SDK auf CD bestellen oder herunterladen von http://www.microsoft.com/msdownload/platformsdk/sdkupdate. Sie können die Dokumentation auch online lesen unter http://msdn.microsoft.com/library/en-us/msi/hh/msi/wiport_6gf9.asp

Neue Eigenschaftswerte (Properties) für Betriebssystem-Informationen in MSI 2.0
MSI 2.0 enthält eine ganze Reihe neuer Properties. Viele davon haben mit der Installation von .NET Assemblies und 64-Bit-Applikationen zu tun, etwa die Properties MsiNetAssemblySupport und System64Folder. Um diese neuen Technologien zu unterstützen, ist InstallShield Developer 7 erforderlich. Aber es gibt einige neue Properties, die auch für "altmodische" Applikationen nützlich sind. Sie können verwendet werden, um den genauen Typ des Betriebssystems zu erkennen, ohne Registrierungs-Einträge untersuchen zu müssen. Die folgende Tabelle führt einige dieser Eigenschaftswerte auf, zusammen mit dem Wert des VersionNT Property.

(A) Wert des Property VersionNT
(B) Wert des Property MsiNTProductType
(C) Wert des Property MsiNTSuiteEnterprise
(D) Wert des Property MsiNTSuitePersonal

Betriebssystem (A) (B) (C) (D)
Windows NT 4.0 Workstation 400 1 - -
Windows NT 4.0 Domain Controller 400 2 - -
Windows NT 4.0 Server 400 3 - -
Windows 2000 Professional 500 1 - -
Windows 2000 Domain Controller 500 2 - -
Windows 2000 Server 500 3 - -
Windows 2000 Advanced Server 500 3 1 -
Windows XP Home Edition 501 1 - 1
Windows XP Professional 501 1 - -
Windows .NET Domain Controller 501 2 - -
Windows .NET Standard Server 501 3 - -
Windows .NET Enterprise Server 501 3 1 -

Informationen über die Windows .NET Server-Varianten können sich ändern, da sie sich noch in der Beta-Phase befinden.

Die folgenden Properties sind nur für Windows 2000 und höher gültig:

MsiNTSuiteBackOffice hat den Wert 1, wenn Microsoft BackOffice Komponenten installiert sind.
MsiNTSuiteDataCenter hat den Wert 1, wenn Windows 2000 Datacenter Server installiert ist.
MsiNTSuiteSmallBusiness hat den Wert 1, wenn Microsoft Small Business Server installiert ist.
MsiNTSuiteSmallBusinessRestricted hat den Wert 1, wenn Microsoft Small Business Server mit beschränkter Client-Lizenz installiert ist.
Fehlerbehebungen
Obwohl es keine offiziellen Release Notes gibt, die auflisten, welche Probleme in MSI 2.0 behoben wurden, haben Tests gezeigt, dass einige Fehler beseitigt wurden, zum Beispiel:

Rollbalken bei Kombinationsfeldern (Combo Box): Wenn die heruntergeklappte Liste mehr Einträge enthält, als auf einmal dargestellt werden können, wird jetzt ein Rollbalken angezeigt.
Versionsvergleich beim Installieren eines Patches: Dies funktioniert jetzt entsprechend der Dokumentation in der aktuellen Version der MSI-Hilfe. Leider stimmen die Einstellungen in manchen Installations-Tools nicht mit dieser Dokumentation überein. Dies wird mit in vielen Fällen Probleme mit existierenden Patches verursachen - siehe unten.
Andere Fehler dagegen sind nicht behoben worden. So funktioniert das Feld MinVersion in der AppSearch Tabelle nach wie vor nicht entsprechend der Dokumentation. (Die Dateiversion muss größer sein, als der Wert, den Sie im Feld MinVersion eingeben, nicht größer oder gleich, wie in der MSI 2.0 Hilfedatei steht.)

Updates und Patches
MSI 2.0 beseitigt einige der seltsamen Einschränkungen und Regeln, die Sie beim Erstellen einer neuen Version Ihres Setups beachten mussten:

Sie können jetzt Komponenten zu bestehenden Features hinzufügen. Was wie eine grundlegende Funktion klingt, hat in den bisherigen Versionen zu allen möglichen Problemen geführt.
Sie können neue Unter-Features hinzufügen und Ihren Auswahl-Status vom übergeordneten Feature abhängig machen, ohne dabei ADDLOCAL zu verwenden. Sie stellen dazu einfach die Eigenschaft "Erforderlich" (Required) für das Unter-Feature auf "ja" (dies entspricht dem Flag msidbFeatureAttributesUIDisallowAbsent in der MSI-Hilfe) und wählen "Übergeordnetes Feature" als Einstellung für die Remote-Installation.
Die Bedingungen für die Versionsbeziehungen bei Patches wurden geändert - das heißt, eigentlich verhalten sie sich jetzt so, wie es ursprünglich beabsichtigt war. Falls Sie einen Patch erstellt haben, der für verschiedene ältere Versionen Ihrer Software angewendet werden kann, und dabei die Vorgabe "Neue Version >= Frühere Version" von InstallShield verwendet haben, dann wird Ihr Patch wahrscheinlich nicht mehr funktionieren! Beim Installieren eines solchen Patches tritt die folgende Fehlermeldung auf: 2768 "Transform in patch package is invalid". Die empfohlene Einstellung für die Versionsbeziehung ist "Neue Version = Frühere Version". Das sieht auf den ersten Blick falsch aus, weil die Bezeichnungen im Assistenten zur Patcherstellung irreführend sind. Die eigentlich Bedeutung dieser Einstellung ist nämlich "Vorhandene Version = Basis-Version", wobei die Basis die Version ist, für die der Patch erstellt wurde. Wenn Sie zum Beispiel einen Patch erstellen, der Version 1.0.1 eines Produktes auf Version 1.0.2 aktualisiert, dann ist die Basis-Version 1.0.1. Dieser Patch sollte nur auf Version 1.0.1 anwendbar sein, nicht auf höhere Versionen. Gründe für diese Verwirrung sind zum einen, dass die Versionsbeziehung in den ersten Ausgaben des Windows Installer SDK falsch beschrieben war, und zum anderen, dass sie sich in MSI 2.0 zum ersten Mal exakt so verhält wie dokumentiert.

Einige weitere Fehler im Patch-Prozess wurden ebenfalls behoben.

Weitere Verbesserungen
Verhindern, dass Passwörter und andere vertrauliche Information im Installationsprotokoll erscheinen: Speichern Sie eine Liste von Properties, die nicht in die Protokolldatei geschrieben werden sollen, im Property MsiHiddenProperties.
Ermitteln der Sicherheitskennung des Anwenders: Der Eigenschaftswert UserSID (der auf Windows 9x nicht gültig ist) kann sogar in benutzerdefinierten Aktionen mit verzögerter Ausführung (deferred execution custom action) abgefragt werden.
Erkennen, ob die Deinstallation durch einen Aufruf aus der Systemsteuerung erfolgt oder auf Grund eines Großen Upgrade (Major Upgrade): Wenn ein Upgrade die vorhandene Version entfernt setzt es das Property UPGRADINGPRODUCTCODE.
Übersicht über die Windows Installer Versionen
Die folgende Tabelle listet alle freigegebenen Versionen der Windows Installer Laufzeitdateien auf:

Release Version von Msi.dll Anmerkungen
Windows Installer 1.0 1.0.5104.0 Enthalten in Office 2000 und veröffentlicht als Installationspaket
Windows Installer 1.10 1.10.1029.0 Enthalten in Windows 2000
1.10.1029.1 Veröffentlicht als Installationspaket
Windows Installer 1.11 1.11.1314.0 Enthalten in Windows 2000 Service Pack 1
1.11.2405.0 Enthalten in Windows 2000 Service Pack 2
Windows Installer 1.20 1.20.1410.0 Enthalten in Windows Millennium Edition
1.20.1827.1 Veröffentlicht als Installationspaket
Windows Installer 2.0 2.0.2600.0 Enthalten in Windows XP und veröffentlicht als Installationspaket (siehe Anmerkung unten)
2.0.2600.1 Veröffentlicht als Installationspaket für Windows 95/98/ME
2.0.3590.0 Enthalten in Windows .NET Server (Beta 3)

Anmerkung: Die erste freigegebene Fassung von MSI 2.0 hatte sowohl in der Unicode- als auch in der ANSI-Ausgabe die Versionnummer 2.0.2600.0. Aufgrund eines Problems in der ANSI-Ausgabe wurde diese später durch Version 2.0.2600.1 ersetzt. Die Unicode-Ausgabe trägt weiterhin die Versionsnummer 2.0.2600.0.

Unterstützte Betriebssystemversionen
Mit Version 2.0 von Instmsi.exe können die Windows Installer Laufzeitdateien auch auf Windows 2000 und Windows Me aktualisiert werden. Windows XP enthält bereits die neueste Version. Beachten Sie, dass bei Windows NT 4 jetzt das Service Pack 6 erforderlich ist, während für MSI 1.x das Service Pack 3 ausreichend war.

Die folgende Tabelle zeigt, auf welchen Windows-Versionen die Windows Installer Laufzeitdateien installiert werden können:

Windows Version Unterstützte Windows Installer Versionen
1.0 1.1 1.2 2.0
Windows 95 + + + +
Windows 98 + + + +
Windows Me - - + +
Windows NT 4 SP3 + + + -
Windows NT 4 SP6 + + + +
Windows 2000 - * - +
Windows XP - - - *
Windows .NET Server - - - *

- nicht unterstützt
+ kann installiert bzw. aktualisiert werden
* enthalten, kann nicht installiert werden

Installation der MSI 2.0 Laufzeitdateien mit InstallShield
InstallShield Developer 7.0
InstallShield Developer 7.00 kann die Windows Installer Laufzeitdateien auf allen Betriebssystemen (einschließlich Windows 2000) aktualisieren. Allerdings sind dazu im Moment noch einige Anpassungen erforderlich. InstallShield Developer 7.01 verwendet bereits MSI 2.0, die unten beschriebenen Änderungen sind dort nicht erforderlich.

Bevor Sie mit den Änderungen beginnen, sollten Sie Sicherheitskopien aller betroffenen Dateien anlegen.

1. Aktualisieren der Windows Installer Installationspakete
Nachdem Sie die Instmsi.exe Dateien für Windows NT/2000 und Windows 95/95/Me heruntergeladen haben, benennen Sie sie um in InstmsiW.exe bzw. InstmsiA.exe. Kopieren Sie sie in den Ordner für auslieferbare Dateien, normalerweise [ProgramFilesFolder]\InstallShield\Developer\Redist\Language Independent\i386.

2. Aktualisieren der MSI Versionsnummer setup.ini
Um den Eintrag MsiVersion zu ändern, der jedes Mal in den Abschnitt [Startup] der Datei setup.ini geschrieben wird, wenn Sie ein Release erzeugen, öffnen Sie folgenden Registrierungsschlüssel:
HKEY_LOCAL_MACHINE\Software\InstallShield\Devloper\7.0
Ändern Sie den Wert des Eintrags mit Namen "Msi Version" auf "2.0.2600.1".

3. Freigeben des MSI Update für Windows 2000
Ändern Sie die Vorlagedatei für setup.ini die sich normalerweise unter [ProgramFilesFolder]\InstallShield\Developer\Support\Setup.ini befindet, indem Sie folgenden Abschnitt hinzufügen:

[Win2K]
MajorVer=5
MinorVer=0
BuildNo=2195
PlatformId=2

In der gleichen Datei fügen Sie im Abschnitt [SupportOS] folgende Zeile hinzu:
Win2K=1

4. Anpassen des benötigten Service Packs für Windows NT 4
Eine weitere Änderung in der Vorlagedatei für Setup.ini ist erforderlich, um sicherzustellen, dass bei Windows NT4 das Service Pack 6 oder höher installiert ist. Erhöhen Sie dazu im Abschnitt [WinNT4] den Eintrag für ServicePack von 768 (für SP3) auf:
ServicePack=1536
(Anmerkung: 768 = 0x300, 1536 = 0x600)

Sie sollten auch die Fehlermeldung anpassen, die angezeigt wird, wenn diese Voraussetzung nicht erfüllt ist. Im Verzeichnis [ProgramFilesFolder]\InstallShield\Developer\Support\ finden Sie INI Dateien mit Fehlermeldungen für jede Sprache, z.B. 0x407.ini für die deutschen Meldungen. Öffnen Sie die Datei mit einem Texteditor und ändern Sie den Eintrag mit Nummer 1150, so dass Service Pack 6 für Windows NT 4 verlangt wird.

5. Unterdrücken des Neustarts nach der Installation von MSI 2.0
Dieser Schritt ist optional. Mit MSI 2.0 ist es möglich, den Neustart, der eventuell nach dem Installieren der Laufzeitdateien erforderlich ist, aufzuschieben, bis das eigentliche Setup beendet ist. Die interne Funktionsweise ist weiter unten beschrieben. InstallShield Developer 7 hat eine Einstellung im Release-Assistenten um den Neustart zu verzögern. Allerdings wird diese Einstellung in Version 7.00 nicht in die Datei Setup.ini übernommen. Um den Neustart zu unterdrücken können Sie manuell den folgenden Eintrag im Abschnitt [Startup] der Setup.ini machen:

SuppressReboot=Y

Wenn Sie diese Änderung an der Vorlagedatei für setup.ini durchführen, werden alle Ihre Setups den Neustart nach Instmsi.exe unterdrücken. Beachten Sie, dass Microsoft empfiehlt, in diesem Fall am Ende der eigentlichen Installation einen Neustart durchzuführen. ISD 7.00 sorgt dafür nicht automatisch, deshalb sollten Sie eine ScheduleReboot Aktion einfügen.

InstallShield - Windows Installer Edition 2.0
InstallShield - Windows Installer Edition 2.03 (IPWI) kann die Windows Installer Laufzeitdateien auf Windows 2000 aktualisieren, aber dazu muss die Datei Setup.exe durch eine spezielle Version ersetzt werden. Das Unterdrücken des Neustarts nach der Installation von MSI 2.0 wird von dieser Setup.exe nicht unterstützt.

Bevor Sie mit den Änderungen beginnen, sollten Sie Sicherheitskopien aller betroffenen Dateien anlegen.

1. Aktualisieren der Windows Installer Installationspakete
Nachdem Sie die Instmsi.exe Dateien für Windows NT/2000 und Windows 95/95/Me heruntergeladen haben, benennen Sie sie um in InstmsiW.exe bzw. InstmsiA.exe. Kopieren Sie sie in den Ordner für auslieferbare Dateien, normalerweise [ProgramFilesFolder]\InstallShield\Professional - Windows Installer Edition\Redist\Language Independent\i386.

2. Ersetzen des Setup.exe Startprogramms
Laden Sie die spezielle Version der Datei Setup.exe von InstallShield Knowledge Base Artikel Q105501 herunter. Kopieren Sie sie in den Ordner für auslieferbare Dateien, normalerweise [ProgramFilesFolder]\InstallShield\Professional - Windows Installer Edition\Redist\Language Independent\i386.

Diese neue Setup.exe sollte nicht verwendet werden, um MSI 1.2 zu installieren. Sie kann auch nicht mit früheren Versionen von InstallShield for Windows Installer verwendet werden.

3. Aktualisieren der MSI Versionsnummer setup.ini
Um den Eintrag MsiVersion zu ändern, der jedes Mal in den Abschnitt [Startup] der Datei setup.ini geschrieben wird, wenn Sie ein Release erzeugen, öffnen Sie folgenden Registrierungsschlüssel:
HKEY_LOCAL_MACHINE\Software\InstallShield\ISWI\2.0
Ändern Sie den Wert des Eintrags mit Namen "Msi Version" auf "2.0.2600.1".

4. Anpassen des benötigten Service Packs für Windows NT 4
Sie sollten die Fehlermeldung anpassen, die angezeigt wird, wenn eine Systemvoraussetzung nicht erfüllt ist. Öffnen Sie die Datei [ProgramFilesFolder]\InstallShield\Professional - Windows Installer Edition\Support\Setup.ini mit einem Texteditor. Sie sehen Abschnitte mit Fehlermeldungen für jede Sprache, z.B. [0x407] für die deutschen Meldungen. Ändern Sie den Eintrag mit Nummer 1150, so dass Service Pack 6 für Windows NT 4 verlangt wird.

InstallShield Express 3.5
InstallShield Express 3.52 (und 3.51 für die englische Version) kann die Windows Installer Laufzeitdateien auf allen Betriebssystemen (einschließlich Windows 2000) aktualisieren. Allerdings sind dazu im Moment noch einige Anpassungen erforderlich. Mit dem Erscheinen des nächsten Maintenance Pack werden diese voraussichtlich hinfällig.

Bevor Sie mit den Änderungen beginnen, sollten Sie Sicherheitskopien aller betroffenen Dateien anlegen.

1. Aktualisieren der Windows Installer Installationspakete
Nachdem Sie die Instmsi.exe Dateien für Windows NT/2000 und Windows 95/95/Me heruntergeladen haben, benennen Sie sie um in InstmsiW.exe bzw. InstmsiA.exe. Kopieren Sie sie in den Ordner für auslieferbare Dateien, normalerweise [ProgramFilesFolder]\InstallShield\InstallShield Express\Redist\Language Independent\i386.

2. Aktualisieren der MSI Versionsnummer setup.ini
Um den Eintrag MsiVersion zu ändern, der jedes Mal in den Abschnitt [Startup] der Datei setup.ini geschrieben wird, wenn Sie ein Release erzeugen, öffnen Sie folgenden Registrierungsschlüssel:
HKEY_LOCAL_MACHINE\Software\InstallShield\Express\3.5
Ändern Sie den Wert des Eintrags mit Namen "Msi Version" auf "2.0.2600.1".

3. Freigeben des MSI Update für Windows 2000
Ändern Sie die Vorlagedatei für setup.ini die sich normalerweise unter [ProgramFilesFolder]\InstallShield\InstallShield Express\Support\Setup.ini befindet, indem Sie folgenden Abschnitt hinzufügen:

[Win2K]
MajorVer=5
MinorVer=0
BuildNo=2195
PlatformId=2

In der gleichen Datei fügen Sie im Abschnitt [SupportOS] folgende Zeile hinzu:
Win2K=1

4. Anpassen des benötigten Service Packs für Windows NT 4
Eine weitere Änderung in der Vorlagedatei für Setup.ini ist erforderlich, um sicherzustellen, dass bei Windows NT4 das Service Pack 6 oder höher installiert ist. Erhöhen Sie dazu im Abschnitt [WinNT4] den Eintrag für ServicePack von 768 (für SP3) auf:
ServicePack=1536
(Anmerkung: 768 = 0x300, 1536 = 0x600)

Sie sollten auch die Fehlermeldung anpassen, die angezeigt wird, wenn diese Voraussetzung nicht erfüllt ist. Im Verzeichnis [ProgramFilesFolder]\InstallShield\InstallShield Express\Support\ finden Sie INI Dateien mit Fehlermeldungen für jede Sprache, z.B. 0x407.ini für die deutschen Meldungen. Öffnen Sie die Datei mit einem Texteditor und ändern Sie den Eintrag mit Nummer 1150, so dass Service Pack 6 für Windows NT 4 verlangt wird.

5. Unterdrücken des Neustarts nach der Installation von MSI 2.0
Dieser Schritt ist optional. Mit MSI 2.0 ist es möglich, den Neustart, der eventuell nach dem Installieren der Laufzeitdateien erforderlich ist, aufzuschieben, bis das eigentliche Setup beendet ist. Die interne Funktionsweise ist weiter unten beschrieben. InstallShield Express 3.5 hat in den Eigenschaften des Release eine Option " MSI Engine-Neustart unterdrücken" die Sie einfach auf "Ja" stellen. Beachten Sie, dass Microsoft empfiehlt, in diesem Fall am Ende der eigentlichen Installation einen Neustart durchzuführen. ISX 3.5 sorgt dafür nicht automatisch, deshalb sollten Sie "Neustart am Ende durchführen" aus dem Katalog für Benutzerdefinierte Aktionen hinzufügen.

InstallShield Express 3.0
Offiziell unterstützt InstallShield Express nicht die Aktualisierung der Windows Installer Laufzeitdateien auf Windows 2000. Allerdings ist Express 3.0 intern recht ähnlich wie InstallShield - Windows Installer Editon 2.0, und Anwender haben berichtet, dass das oben für InstallShield - Windows Installer Edition 2.0 beschriebene Verfahren auch für InstallShield Express 3.0 funktioniert, einschließlich der speziellen Setup.exe aus dem Knowledge Base Artikel.