Erstellen eines Installationsprogramms zum Installieren einer 64-Bit-Anwendung

Erstellungsdatum der Seite :

Umgebung

Visual Studio
  • Visual Studio Community 2017
  • Visual Studio Community 2019
WiX Toolset
3.11.2

• Funktioniert in anderen Versionen, ist aber unbestätigt

Zunächst

WiX installiert es als 32-Bit-Anwendung, sofern nicht explizit angegeben. Wenn Sie z. B. auf einem 64-Bit-Betriebssystem installieren, wird es im Ordner "C:-Programmdateien "x86"- installiert.

In diesem Abschnitt werden die Einstellungen für die Installation als 64-Bit-Anwendung beschrieben. Angenommen, Sie haben bereits ein WiX-Projekt erstellt und ein Installationsprogramm erstellt.

Übrigens, wenn Sie eine 64-Bit-Anwendung installieren, ist es eine 32-Bit-Anwendung oder eine 64-Bit-Anwendung? Da es von der Datei abhängt, die ich eingeschlossen habe, denken Sie bitte, dass die Einstellung der Installer-Seite auf die letzte. Sie können die Installation auf 32-Bit-Betriebssystemen auch explizit verhindern, indem Sie das Installationsprogramm 64bit unterstützen.

Vorbereitung

  • Angenommen, Sie haben ein Installationsprogramm in WiX erstellt.

Erstellen eines Projekts

Erstellen Sie ein neues Projekt für das 64-Bit-Installationsprogramm. Wenn Sie ein 32-Bit- und 64-Bit-Installationsprogramm erstellen müssen, Es ist nützlich, es gleichzeitig zu bauen, indem Sie es in ein separates Projekt von 32bit teilen.

image

image

image

Nachdem Sie ein Projekt erstellt haben, richten Sie das Projekt wie die 32-Bit-Version Kopieren Sie die in der 32-Bit-Version erstellten Dateien in das 64-Bit-Projekt.

image

In der 64-Bit-Version benötigen Sie fast die gleiche Datei wie die 32-Bit-Version, so dass es eine Möglichkeit gibt, die Datei freizugeben. Da die Erklärung etwas kompliziert wird, werde ich diese Zeit schonen.

64-Bit-Einstellungen für Installationsprojekte

Um ein Installationsprogramm für eine 64-Bit-Anwendung zu erstellen, ändern Sie die Projekteinstellungen. Wenn Sie die folgenden A- oder B-Muster festlegen, können Sie dies tun.

Eine weitere Möglichkeit, x64 für das Platform-Attribut des Pakets anzugeben, ist die Sie ist derzeit veraltet und hat keine Auswirkungen, wenn sie festgelegt wird, und Sie müssen den 64bit-Parameter für jede zu installierende Datei festlegen. Ich empfehle es nicht, weil es ineffizient ist.

A. Hinzufügen der x64-Plattform zum Projekt

Anfangs verfügt das Projekt nur über eine x86-Buildkonfiguration, daher fügen Sie x64 hinzu.

Wählen Sie das Menü "Build" und "Configuration Manager".

image

Erstellen Sie die Lösungskonfiguration Release, und wählen Sie Neu aus der x64-Projektplattform aus.

image

Erstellen Sie keine neuen Plattformen "x64", "x86"-Quellen und neue Lösungsplattformen.

image

Wenn Sie sie hinzufügen, öffnen Sie die Plattform erneut. Wählen Sie Bearbeiten aus. X64 x64 befindet sich übrigens nicht unmittelbar nach dem Hinzufügen in der Liste, kann aber beim Schließen und Aktualisieren des Bildschirms zur Liste hinzugefügt werden.

image

Entfernen Sie x86 aufgrund eines Wix-Projektfehlers, der dazu führt, dass die anfängliche Auswahl nicht auf x64 und x86 umgeschaltet wird. Dies kann jedoch auch ein Problem sein, und selbst wenn x86 ausgerastet wird, wird es wiederbelebt. Wenn Sie sicherstellen möchten, dass Sie es löschen, ist es eine gute Idee, die Projektdatei "wixproj" in einem Texteditor zu öffnen und den Code zu löschen.

image

Wenn es wie die Abbildung unten aussieht, ist es OK. Die aktive Plattform oben rechts bleibt x86, also, wenn Sie neugierig sind, benennen Sie sie in Bearbeitung um.

image

B. "-arch x64" zu den Kompilierungsparametern hinzugefügt.

Klicken Sie mit der rechten Maustaste auf das 64-Bit-Installationsprojekt, um Eigenschaften zu öffnen.

image

Wählen Sie Werkzeugeinstellungen auf der linken Registerkarte aus, und ändern Sie die Konfiguration in Release. Geben Sie unter Zusätzliche Parameter -arch x64 in Compiler ein.

image

Erstellen des Zielordners zu einem 64-Bit-Ordner

Öffnen Sie Product.wxs.

Ersetzen Sie die folgende "Verzeichnis-Id="ProgramFilesFolder" durch "Directory Id="ProgramFiles64Folder".

<Wix>
	<Fragment>
		<Directory Id="TARGETDIR" Name="SourceDir">
			<Directory Id="ProgramFiles64Folder">

Ändern des Datei- oder Ordnernamens einer Verknüpfung im Startmenü

Nicht erforderlich, aber wenn Sie die 32-Bit-Einstellungen so kopieren, wie sie sind, können Sie sie direkt in die Startmenüs der 32-Bit- und 64-Bit-Anwendung kopieren. Die Verknüpfung wird behandelt.

Ändern Sie es nach Bedarf.

<Wix>
  <Fragment>
    <Directory Id="TARGETDIR" Name="SourceDir">
      <Directory Id="ProgramFiles64Folder">
        <Directory Id="INSTALLFOLDER" Name="LittleSaviorTrial">
          <Component Win64="yes" Id="LITTLESAVIORTRIAL.EXE" DiskId="1" Guid="E382FBDF-73E0-4511-A73D-E9798449F30E">
            <File Id="LITTLESAVIORTRIAL.EXE" Name="LittleSaviorTrial.exe" Source="LittleSaviorTrial\LittleSaviorTrial.exe" KeyPath="yes">
              <Shortcut Id="LITTLESAVIORTRIAL.EXE_shortcut" Name="ここのファイル名を 64bit 版に変える" Directory="ProgramMenuDir" WorkingDirectory="INSTALLDIR" Icon="LITTLESAVIOR.ICO" IconIndex="0" Advertise="yes" />
  <!-- 中略 -->
  <Directory Id="ProgramMenuFolder">
    <Directory Id="ProgramMenuDir" Name="ここのフォルダ名を 64bit 版に変える">
      <Component Id="ProgramMenuDir" Guid="5A73CC85-A1B3-4409-8C4F-3E8E888A7167">
        <RemoveFolder Id="ProgramMenuDir" On="uninstall" />

Product.wxs insgesamt

Erstellen Sie diesen Status, um sicherzustellen, dass das Installationsprogramm fehlerfrei erstellt wird. Stellen Sie nach der Installation in einer 64-Bit-Betriebssystemumgebung sicher, dass Ordner und Dateien in C:-Programmdateien erstellt werden.

image

Überprüfen Sie außerdem, ob dieinstallation fehlschlägt, wenn Sie versuchen, in einer 32-Bit-Betriebssystemumgebung zu installieren.

image