Frage

Ich habe einen Windows-Dienst als AnyCPU zusammengestellt bekam. Ich versuche, es in unseren Installer anzu verteilen. Aber ... Ich bin unklar auf der Differenz zwischen den 32- und 64-Bit-Versionen von InstallUtil. Weiß jemand, was (wenn überhaupt) gibt es?

Auf meiner 64-Bit-Maschine, kann ich entweder das $ (WinDir) läuft \ Microsoft.NET \ Framework64 \ v2.0.50727 oder das $ (WinDir) \ Microsoft.NET \ Framework \ v2.0.50727.

In beiden Fällen wird der resultierende Service-Prozess im Task-Manager nicht hat * 32-Flag auf sie angewandt wird.

Nur die 32-Bit-InstallUtil arbeiten auf 32-Bit-Maschinen (natürlich).

Gibt es eine Notwendigkeit, die \ Framework64 \ Version von InstallUtil zu benutzen? Was macht es anders machen?

War es hilfreich?

Lösung

Nach dieser , sollen Sie die 64-Bit verwenden Version 64-Bit und MSIL Baugruppen zu installieren, aber nicht sagen, warum.

  

Ab .NET Framework, Version 2.0, die 32-Bit-Version von   die Common Language Runtime (CLR) Schiffe nur mit der 32-Bit-Version   des Installer-Tool, aber die 64-Bit-Version der CLR Schiffe mit   sowohl 32-Bit- als auch 64-Bit-Versionen des Installationswerkzeuges. Bei der Verwendung des   64-Bit-CLR, verwenden, um das 32-Bit-Installationswerkzeug 32-Bit zu installieren   Baugruppen, und das 64-Bit-Installer-Tool 64-Bit zu installieren und   Microsoft Intermediate Language (MSIL) Baugruppen. Beide Versionen von   das Installer-Tool gleich verhalten.

Ich glaube, hier erklärt, warum. Wenn Sie am unteren Rand der Post sehen, es erklärt einige Unterschiede zwischen den beiden und wenn die 32-Bit intallutil zu verwenden.

  

Installutil.exe ist für eine bestimmte Plattform gebaut, daher wird es   Start als 32- oder 64-Bit-Prozess und die damit verbundene Registrierungsstruktur wird   Aktualisiert. Beachten Sie, dass, wenn Sie ein Snap-In mit der Plattform gebaut haben   Schalter, werden Sie nur in der Lage sein, es in einem der Nesselsucht registrieren   (32-Bit oder 64-Bit).

Andere Tipps

Ich lief auch über diese. Das Problem war mein VS2008 Projekt Platform Ziel gesetzt wurde: Jede CPU. Egal, welche InstallUtil.exe (32 oder 64) lief ich auf den 64-Bit-OS wurde sie als 64-Bit-Installation.

änderte ich mein Projekt Target x86 Einstellung und dann lief die 32-Bit-installutil.exe und alles funktioniert. Es zeigt nun den * 32-Flag im Task-Manager.

Wenn Sie einen 64-Bit nur einbaut, die 32-Bit-InstallUtil nicht in der Lage sein, es zu laden. Sie werden die 64-Bit-Version verwenden müssen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top