Freigeben über


Gewusst wie: Bereitstellen eines Setup- und Bereitstellungs-Projekts

Aktualisiert: November 2007

Dieses Thema konzentriert sich auf einen Setup- und Bereitstellungsprojekttyp. Hintergrundinformationen zu diesem Bereitstellungsszenario finden Sie unter Szenarien für Bereitstellungsbeispiele.

Verfahren zum Bereitstellen von DLLs aus Visual C++-Bibliotheken als freigegebene Assemblys

Erstellen eines Setup- und Bereitstellungs-Projekts

  • Klicken Sie im Menü Datei auf Neues Projekt, öffnen Sie den Knoten Andere Projekttypen, wählen Sie Setup und Bereitstellung, und klicken Sie anschließend auf Setup-Projekt. Vergeben Sie einen Namen, und klicken Sie auf OK.

    Hinweis:

    Visual C++ Express unterstützt keine Setupprojekte. Um Visual C++-Bibliotheken mit Anwendungen zu verteilen, die in Visual C++ Express erstellt wurden, verwenden Sie Visual C++ Redistributable Package. Weitere Informationen finden Sie unter Gewusst wie: Bereitstellen mit XCopy.

Fügen Sie dem Projekt die EXE und die DLL hinzu, und geben Sie an, wo diese auf dem Zielcomputer installiert werden sollen.

  1. Wählen Sie im Menü Projekt die Option Hinzufügen aus, und klicken Sie auf Datei.

  2. Suchen Sie den Ordner, der MyApplication.exe und MyLibrary.DLL enthält, und wählen Sie beide aus.

  3. Klicken Sie im Fenster Dateisystem mit der rechten Maustaste auf Anwendungsordner, zeigen Sie auf Hinzufügen, und klicken Sie auf Erstellen, um einen neuen Ordner zu erstellen. Nennen Sie ihn MyLibrary.

  4. Klicken Sie erneut auf Anwendungsordner, wählen Sie MyLibrary.DLL aus, und ziehen Sie die Datei auf den Ordner MyLibrary. Im Projektmappen-Explorer sollte jetzt für Ihr Projekt unter Abhängigkeiten erkennen angezeigt werden, dass durch Visual Studio Abhängigkeiten von MFC90.dll und MSVCR90.dll ermittelt wurden. Für diese DLLs müssen Sie die entsprechenden Mergemodule hinzufügen.

  5. Zeigen Sie im Menü Projekt auf Hinzufügen, und klicken Sie dann auf Modul zusammenführen. Wählen Sie Microsoft_VC90_CRT_x86.msm und Microsoft_VC90_MFC_x86.msm aus, und klicken Sie auf OK. Für die Debugversionen dieser Mergemodule wählen Sie Microsoft_VC90_DebugCRT_x86.msm und Microsoft_VC90_DebugMFC_x86.msm aus.

    Hinweis:

    Überprüfen Sie, ob die entsprechenden policy*.msm-Module in das Projekt integriert werden. policy_9_0_microsoft_vc90_crt_x86.msm und policy_9_0_microsoft_vc90_mfc_x86.msm entsprechen z. B. Microsoft_VC90_CRT_x86.msm bzw. Microsoft_VC90_MFC_x86.msm. Visual Studio erkennt, dass die Hauptmodule von diesen Richtlinienmodulen abhängen, und listet sie unter Gefundene Abhängigkeiten auf. Wenn die Abhängigkeiten nicht automatisch erkannt werden, müssen Sie die Richtlinienmodule manuell zusammenführen.

    Zum Bereitstellen von 64-Bit-Anwendungen auf einem 64-Bit-Betriebssystem wählen Sie das Mergemodul für die entsprechende Plattform aus. Für x64 wählen Sie Microsoft_VC90_CRT_x86_x64.msm und Microsoft_VC90_MFC_x86_x64.msm; für Itanium Microsoft_VC90_CRT_x86_ia64.msm und Microsoft_VC90_MFC_x86_ia64.msm.

Erstellen von setup.exe

  • Klicken Sie im Menü Erstellen auf Projektmappe erstellen.

Ausführen von setup.exe

  • Wenn Sie jetzt die Datei setup.exe auf einem Betriebssystem ausführen, das eine manifestbasierte Bindung von Anwendungen an ihre Abhängigkeiten unterstützt (Windows XP Home Edition, Windows XP Professional, Windows Server 2003), geschieht Folgendes:

Verfahrensweisen zum Bereitstellen von DLLs aus Visual C++-Bibliotheken als private Assemblys

Erstellen eines Setup- und Bereitstellungs-Projekts

  • Klicken Sie im Menü Datei auf Neues Projekt, öffnen Sie den Knoten Andere Projekttypen, wählen Sie Setup und Bereitstellung, und klicken Sie anschließend auf Setup-Projekt. Geben Sie einen Namen ein, und klicken Sie auf OK.

Fügen Sie dem Projekt die EXE und die DLL hinzu, und geben Sie an, wo diese auf dem Zielcomputer installiert werden sollen.

  1. Wählen Sie im Menü Projekt die Option Hinzufügen aus, und klicken Sie auf Datei.

  2. Suchen Sie den Ordner, der MyApplication.exe und MyLibrary.DLL enthält, und wählen Sie beide aus.

  3. Klicken Sie im Fenster Dateisystem mit der rechten Maustaste auf Anwendungsordner, zeigen Sie auf Hinzufügen, und klicken Sie auf Erstellen, um einen neuen Ordner zu erstellen. Nennen Sie ihn MyLibrary.

  4. Klicken Sie erneut auf Anwendungsordner, wählen Sie MyLibrary.DLL aus, und ziehen Sie die Datei auf den Ordner MyLibrary. Im Projektmappen-Explorer sollte jetzt für Ihr Projekt unter Abhängigkeiten erkennen angezeigt werden, dass durch Visual Studio Abhängigkeiten von MFC90.dll und MSVCR90.dll ermittelt wurden. Sie müssen einen entsprechenden Ordner für diese Assemblys aus dem Ordner \vc\redist hinzufügen.

    Hinweis:

    Für Debugbuilds verwenden Sie \vc\redist\debug_nonredist.

  5. Öffnen Sie %PROGDIR%\Microsoft Visual Studio 8\VC\Redist\x86 in Windows Explorer.

  6. Halten Sie die STRG-TASTE gedrückt, und klicken Sie auf die Ordner Microsoft.VC90.CRT und Microsoft.VC90.MFC. Ziehen Sie die Ordner in Visual Studio, und legen Sie sie im Anwendungsordner ab.

  7. Wiederholen Sie Schritt 6, aber ziehen Sie die Ordner dieses Mal in den Ordner MyLibrary.

    Möglicherweise wird von Visual Studio eine Meldung angezeigt, die Sie darauf hinweist, dass Sie eine DLL einfügen, die Teil eines Mergemoduls ist. Dies ist genau Ihre Absicht. Klicken Sie also auf Nein, um keine MSM für diese DLL zu verwenden.

    Sie benötigen mfcm90.dll und die entsprechende Unicode-Version mfcm90u.dll nur, wenn Sie die MFC/Winforms-Integration verwenden. Andernfalls können Sie diese DLLs aus dem Setup entfernen.

    Sie benötigen msvcm90.dll nur, wenn Sie verwalteten Code in den Anwendungen verwenden, z. B., wenn die Projekte mit /clr oder /clr:pure erstellt werden.

    Wenn mfcm90.dll, mfcm90u.dll oder msvcm90.dll zum Setup-Projekt gehören, ist eine Installation von .NET Framework erforderlich. Das Setup funktioniert nur, wenn .NET Framework 2.0 auf dem Zielcomputer installiert ist.

    Für eine Debuginstallation ändern Sie im vorherigen Schritt CRT in DebugCRT und MFC in DebugMFC.

    Verwenden Sie zum Bereitstellen von 64-Bit-Anwendungen unter 64-Bit-Betriebssystemen \vc\redist\amd64 oder \vc\redist\ia64.

Erstellen von setup.exe

  • Klicken Sie im Menü Erstellen auf Projektmappe erstellen.

Ausführen von setup.exe

  1. Wenn Sie jetzt die Datei setup.exe auf einem Betriebssystem ausführen, das eine manifestbasierte Bindung unterstützt (Windows XP Home Edition, Windows XP Professional, Windows Server 2003), geschieht Folgendes:

    • Die Anwendung wird im angegebenen Zielordner installiert.

    • Die Anwendung und die DLL verwenden zur Laufzeit die CRT- und MFC-Assemblys aus den Ordnern Microsoft.VC90.CRT und Microsoft.VC90.MFC.

  2. Auf einem Betriebssystem ohne manifestbasierte Bindungsunterstützung (Windows 2000) wird diese Bereitstellungsmethode nicht empfohlen. Wenn Sie versuchen, nach den oben beschriebenen Schritten Visual Studio-Assemblys als private Assemblys unter diesen Betriebssystemen bereitzustellen, kann das Ladeprogramm des Betriebssystems die CRT- und MFC-DLLs nicht finden. Die Ordner, die Microsoft.VC90.CRT und Microsoft.VC90.MFC enthalten, müssen zur PATH-Umgebungsvariablen hinzugefügt werden, damit das Ladeprogramm sie finden kann. Unter diesem Modus geschieht Folgendes:

    • Die Anwendung wird im angegebenen Zielordner installiert.

    • Das Systemladeprogramm findet über die PATH-Umgebungsvariable zur Laufzeit die Speicherorte der privaten CRT- und MFC-Assemblys aus den Ordnern für Microsoft.VC90.CRT und Microsoft.VC90.MFC.

Siehe auch

Aufgaben

Gewusst wie: Bereitstellen mit XCopy

Konzepte

Bereitstellungsbeispiele