Freigeben über


Exemplarische Vorgehensweise: Bereitstellen von einem VSPackage

In dieser exemplarischen Vorgehensweise können Sie eine grundlegende Methode überprüfen, VSPackages bereitzustellen.

Erste Schritte

Verwenden Sie zwei Computern für diese exemplarische Vorgehensweise zur Verfügung:

  • Einen Entwicklungscomputer, der Visual Studio und Visual Studio SDK installiert ist.

  • Ein Zielcomputer installiert, der Visual Studio wurde aber nicht, Visual Studio SDK installiert ist.

Hinweis

Wenn Sie nur einen Computer verfügen, können Sie sich auf dem gleichen Computer entwickeln und bereitstellen.Wenn Sie jedoch die Systemregistrierung nicht bereinigt, indem Sie das Visual Studio 2010 Experimentelle Instanz zurücksetzen Hilfsprogramm verwenden.Wenn Sie die Virtual PC aufweisen, der auf dem Computer installiert ist, können Sie auf einen virtuellen Bild bereitstellen.

Zum Abschließen dieser exemplarischen Vorgehensweise müssen Sie Visual Studio 2010 SDKinstallieren. Weitere Informationen über das Visual Studio-SDK finden Sie unter Erweitern von Visual Studio Overview. Um herauszufinden finden Sie unter wie das Visual Studio-SDK, auf Visual Studio Extensibility Developer Center der MSDN-Website herunterlädt.

Speicherorte für die Visual Studio-Paket-Projektvorlage

Die Visual Studio-Paket importieren kann in drei verschiedenen Stellen im Dialogfeld Neues Projekt gefunden werden:

  1. Klicken Sie unter Von Visual Basic-Erweiterbarkeit. Die Standardsprache des Projekts ist Visual Basic.

  2. Die C#-Erweiterbarkeit. Die Standardsprache ist C# des Projekts.

  3. Verwenden anderer Projekttyp-Erweiterbarkeit. Die Standardsprache des Projekts ist C++.

Grundlegendes VSPackage erstellen

Erstellen Sie zunächst ein VSPackage grundlegende bereitzustellenden. Dieses VSPackage öffnet ein Dialogfeld nur als Reaktion auf einen Menübefehl.

So erstellen Sie ein VSPackage grundlegendes

  1. Erstellen Sie ein VSPackage, das DeployPackage mit der Projektvorlage Visual Studio-Paket. Klicken Sie auf OK.

  2. Wählen Sie eine Programmiersprache aus. Klicken Sie auf der Seite ausgewählten Visual C# oder Visual Basic.

  3. Ändern Sie keinesfalls die Standardwerte auf der Seite Grundlegende Informationen zum VSPackage .

  4. Wählen Sie auf der Seite Optionen für das VSPackage auswählenMenübefehl. Klicken Sie auf Next.

  5. Ändern Sie Befehlsname zu Das Befehl stellen Sie es bereit. Klicken Sie auf Next.

  6. Klares Integrationstestprojekt. Klicken Sie auf Fertig stellen.

    Die Vorlage generiert die DeployPackage-Projektmappe.

Bereitstellung mit XCopy mithilfe von CodeBase

Eine Möglichkeit, ein VSPackage xcopy-Bereitstellung bereitgestellt wird, indem Sie DOS-Tool verwendet, die nach dem Namen einer Datei an einem Speicherort kopiert. Kopieren Sie nur VSPackages der Auswahl in den Ordner auf dem Zielcomputer. Bereitstellung wie folgt schlägt fehl, da die entsprechenden bestimmt, Systemregistrierungs nicht auf dem Zielcomputer initialisiert wurden.

Sie können die Systemregistrierung initialisieren, indem Sie eine .reg-Datei verwenden, die die gewünschte Schlüssel und Werte enthält. Sie können die .reg-Datei für ein VSPackage generieren, indem Sie das Regpkg.exe-Hilfsprogramm verwenden.

Hinweis

Die bevorzugte Methode, Pakete in Visual Studio registriert wird, indem Sie .pkgdef-Dateien verwendet.Dies ermöglicht die Bereitstellung von Erweiterungen ohne Zugriff auf die Systemregistrierung erforderlich ist.Pkgdef-Dateien werden erstellt, indem CreatePkgDef-Hilfsprogrammverwendet.

So konfigurieren Sie die Datei Systemregistrierungs generieren

  1. Klicken Sie im Fenster SystemdefinitionsmodellBefehl navigieren Sie zu dem Ordner, der DeployPackage.dll enthält. Dieses i. d. R. im Projekt befindet sich im Ordner " \ bin \ Debug \ Verzeichnis.

  2. Geben Sie an der Eingabeaufforderung die folgende Zeile ein.

    regpkg /regfile:DeployPackage.reg /codebase DeployPackage.dll

  3. Öffnen Sie die resultierende DeployPackage.reg-Datei in Editor.

DeployPackage.reg sollte dem folgenden Code ähneln:

REGEDIT4

[HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\10.0\InstalledProducts\DeployPackage]
@="#110"
"Package"="{bad3390c-b2a2-4bfc-a3ad-87e8119df413}"
"ProductDetails"="#112"
"PID"="1.0"
"LogoID"="#400"
[HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0\Packages\{bad3390c-b2a2-4bfc-a3ad-87e8119df413}]
@="Company.DeployPackage.DeployPackage, DeployPackage, Version=1.0.2796.21244, Culture=neutral, PublicKeyToken=125cdbd1e07e0d79"
"InprocServer32"="C:\\Windows\\system32\\mscoree.dll"
"Class"="Company.DeployPackage.DeployPackage"
"CodeBase"="D:\\DeployPackage\\DeployPackage\\bin\\Debug\\DeployPackage.dll"
[HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\9.0\Menus]
"{bad3390c-b2a2-4bfc-a3ad-87e8119df413}"=", 1000, 1"

Die CodeBase-Taste wird, wenn regpkg.exe mit dem Schalter /codebase- ausgeführt wird wie folgt generiert.

"CodeBase"="D:\\DeployPackage\\DeployPackage\\bin\\Debug\\DeployPackage.dllL"

Um ein VSPackage auf einem Zielcomputer bereitstellen, müssen Sie die folgenden Aufgaben ausführen:

  • Aktualisieren Sie den CodeBase-Pfad.

  • Kopieren Sie die Dateien .reg-Dateien VSPackages .dll und dem Zielcomputer.

  • Aktualisieren Sie die Systemregistrierung auf dem Zielcomputer.

  • Initialisieren Sie das Visual Studio Menüsystem auf dem Zielcomputer.

So fügen Sie dem Zielcomputer mithilfe von xcopy bereitstellen

  1. Ändern Sie den CodeBase-Pfad in DeployPackage.reg auf den Pfad, in dem DeployPackage.dll auf dem Zielcomputer installiert ist. Wenn Sie beispielsweise DeployPackage.dll in das Stammverzeichnis von Laufwerk D installieren, sollten die CodeBase-Taste und der Wert etwa folgendermaßen aussehen:

    "CodeBase"="D:\\DeployPackage.dll"
    
  2. Stellen Sie sicher, dass der Pfad den Speicherort von mscoree.dll InprocServer32 auf dem Zielcomputer befindet. Wenn beispielsweise das Betriebssystem auf dem Laufwerk D installiert ist, sind die Schlüssel als auch der Wert InprocServer32 etwa folgendermaßen aussehen:

    "InprocServer32"="D:\\Windows\\system32\\mscoree.dll"
    
  3. Speichern Sie die Änderungen an DeployPackage.reg und kopieren Sie DeployPackage.reg und DeployPackage.dll auf den Zielcomputer. Stellen Sie sicher, DeployPackage.dll auf den Pfad zu kopieren, der in der CodeBase-Taste angegeben ist.

  4. Führen Sie das Fenster  Visual StudioBefehl auf dem Zielcomputer als Administrator aus.

  5. Navigieren Sie an der Eingabeaufforderung DeployPackage.dll Sie auf den Speicherort für installierte und dann die beiden folgenden Zeilen ein:

    /s deploypackage.reg regedit

    devenv /setup /nosetupvstemplates

    Die erste Zeile installiert die verschiedenen Schlüssel als auch die Werte in der Systemregistrierung. Die zweite Zeile Visual Studio initialisiert und Menüsystem auf dem Zielcomputer.

    Hinweis

    Da keine Projekt- oder Elementvorlagen hinzufügen, können Sie den /nosetupvstemplates- verwenden, um Setup Zeit zu verringern.

  6. Erste Schritte Visual Studio auf dem Zielcomputer.

  7. Zeigen Sie im Menü Extras Klicken Sie auf Mein Bereitstellungsbefehl. Sie sollten ein Meldungsfeld anzuzeigen, das die folgende Meldung angezeigt:

    Inneres Company.DeployPackage.DeployPackage.MenuItemCallback()

Herzlichen Glückwunsch! Sie haben erfolgreich ein VSPackage bereitgestellten!

CodeBase für Assembly-Bereitstellung

Um CodeBase-Bereitstellung zu verwenden, installieren Sie ein VSPackage in dem Ordner, der durch die CodeBase-Taste angegeben ist. Dieser Ordner wird in der Regel in einem Unternehmen oder einer Technologie zum Beispiel D:\MyCompany genannt.

Assembly Anwendungsbereitstellung ist eine weitere Möglichkeit, ein VSPackage bereitzustellen. Indem Sie die Assembly installieren Sie in einem VSPackage im Ordner oder Unterordner Visual Studio PrivateAssemblies.

Sie würden normalerweise CodeBase-Bereitstellung auswählen, wenn ein VSPackage wird hauptsächlich vom Produkt sind, und nicht in anderen Produkten bekannt ist. Sie würden Assembly auswählen, wenn ein VSPackage Anwendungsbereitstellung vorgesehen ist durch andere Produkte gemeinsam verwendet. Beispielsweise würde sich um eine Rechtschreibprüfung PrivateAssemblies-Ordner bereitgestellt.

Hinweis

Dateinamen Assembly im PrivateAssemblies-Ordner Konflikte sind möglich.

Da jede Version von Visual Studio eigenen PrivateAssemblies-Ordner verfügt, können Sie ein VSPackage für die Assembly verwenden, die für die parallele Szenarien ausgelegt ist. Wenn Sie ein VSPackage verfügen, das entworfen wurde, um mehrere Versionen von Visual Studiodie ausgeführt werden soll, sollten Sie es in den GAC zu installieren.

Hinweis

Aus Leistungsgründen keine Zeichen erfolgen Assemblys mit starkem Namen, die Sie in den PrivateAssemblies-Ordner ablegen, oder eine beliebige Stelle Gegensatz zum globalen Assemblycache (GAC).

Bereitstellung mit XCopy mithilfe von PrivateAssemblies

VSPackage-Assembly PrivateAssemblies-Ordner um die Registrierung des Systems verwendet eine andere als CodeBase-Bereitstellung. Sie können das regpkg.exe-Hilfsprogramm verwenden, um die notwendigen Schlüssel, die Unterschlüssel und die Werte für die Anwendungsbereitstellung zu erstellen.

So konfigurieren Sie die Datei Systemregistrierungs generieren

  1. Klicken Sie im Fenster SystemdefinitionsmodellBefehl navigieren Sie zu dem Ordner, der DeployPackage.dll enthält. Dieses i. d. R. im Projekt befindet sich im Ordner " \ bin \ Debug \ Verzeichnis.

  2. Geben Sie die folgende Zeile an der Eingabeaufforderung ein:

    /regfile: regpkgDeployPackage.reg DeployPackage.dll /assembly

  3. Öffnen Sie die resultierende DeployPackage.reg-Datei in Editor.

Die CodeBase-Taste wird durch die Assembly Schlüssels ersetzt:

"Assembly"="DeployPackage, Version=1.0.2796.21244, Culture=neutral, PublicKeyToken=125cdbd1e07e0d79"

Um ein VSPackage auf einem Zielcomputer bereitzustellen, müssen Sie die Dateien VSPackages .dll an den PrivateAssemblies-Ordner des Zielcomputers kopieren. Sie müssen die .reg-Dateien auf den Zielcomputer kopieren, die Systemregistrierung auf dem Zielcomputer aktualisieren, und das Visual Studio Menüsystem auf dem Zielcomputer initialisieren.

So PrivateAssemblies-Ordner zum Bereitstellen

  1. Stellen Sie sicher, dass der Pfad den Speicherort von mscoree.dll InprocServer32 auf dem Zielcomputer befindet. Wenn beispielsweise das Betriebssystem auf dem Laufwerk D installiert ist, sind die Schlüssel als auch der Wert InprocServer32 etwa folgendermaßen aussehen:

    "InprocServer32"="D:\\Windows\\system32\\mscoree.dll"
    
  2. Wenn bereits ein VSPackage installiert haben, indem Sie die CodeBase verwendet haben, löschen Sie den Ordner und seinen Inhalt.

  3. Kopieren Sie DeployPackage.reg und dem DeployPackage.dll PrivateAssemblies-Ordner auf dem Zielcomputer. Der typische Speicherort für diesen Ordner ist Visual Studio-Installations Pfad\ Common7 \ IDE \ PrivateAssemblies \ ".

    Hinweis

    Möglicherweise sind Administratorrechte erforderlich, in diesem Ordner zu kopieren.

  4. Führen Sie das Fenster  Visual StudioBefehl auf dem Zielcomputer als Administrator aus.

  5. Navigieren Sie an der Eingabeaufforderung den PrivateAssemblies-Ordner und geben Sie dann die beiden folgenden Zeilen ein:

    deploypackage.reg regedit

    devenv /setup

    Die erste Zeile installiert die verschiedenen Schlüssel als auch die Werte in der Systemregistrierung. Die zweite Zeile Visual Studio initialisiert und Menüsystem auf dem Zielcomputer.

    Deploypackage.reg ist nicht mehr erforderlich. Sie können sie löschen.

  6. Starten Sie Visual Studio auf dem Zielcomputer.

  7. Zeigen Sie im Menü Extras Klicken Sie auf Mein Bereitstellungsbefehl. Sie sollten ein Meldungsfeld anzuzeigen, das die folgende Meldung angezeigt:

    Inneres Company.DeployPackage.DeployPackage.MenuItemCallback()

Herzlichen Glückwunsch! Sie haben ein VSPackage zum PrivateAssemblies-Ordner bereitgestellten!

Bereitstellung mithilfe eines Setup-Projekts

Ein einfacherer Ansatz zum Bereitstellen von einem VSPackage ist, ein Visual Studio Setup-Projekt zu verwenden. Dateien erzeugnis Setup-Projekt Windows Installer-Datei (.msi), die viele Bereitstellungsaufgaben für verarbeitet werden, z. B.:

  • sicher, dass erforderliche Komponenten erfüllt sind, z. B. die Installation der Common Language Runtime (CLR) auf dem Zielcomputer sicherstellen.

  • Bereitstellen einer Benutzeroberfläche zur Auswahl des Zielordners für die Installation zu aktivieren.

  • Ausführen von benutzerdefinierten Buildschritten das Zusammenführen von Menüs.

Weitere Informationen finden Sie unter Setup Projects.

In der folgenden Prozedur Setup-Projekt aus einer .reg-Datei Registrierungsinformationen importiert, die für CodeBase-Bereitstellung erstellt wird. Wenn Sie diese Datei nicht bereits erstellt haben, schließen Sie zuerst die folgende Prozedur ab.

So konfigurieren Sie die Datei Systemregistrierungs generieren

  1. Klicken Sie im Fenster SystemdefinitionsmodellBefehl navigieren Sie zu dem Ordner, der DeployPackage.dll enthält. Dieses i. d. R. im Projekt befindet sich im Ordner " \ bin \ Debug \ Verzeichnis.

  2. Geben Sie die folgende Zeile an der Eingabeaufforderung ein:

    /regfile: regpkgDeployPackage.reg DeployPackage.dll /codebase

Jetzt können Sie das Setupprojekt erstellen und zu konfigurieren.

So erstellen Sie das Setupprojekt erstellen und konfigurieren

  1. Öffnen Sie die DeployPackage-Projektmappe in Visual Studio auf dem Entwicklungscomputer.

  2. Klicken Sie mit der rechten Maustaste auf den Projektmappenknoten, klicken Sie auf Hinzufügen, und klicken Sie dann auf Neues Projekt.

  3. Erweitern Sie Andere Projekttypen und wählen Sie dann Setup und Bereitstellungaus.

  4. Erstellen Sie das Setup, Setup-Projekt .

    Die Vorlage fügt dem Projektmappen-Explorer das Setup-Projekt der Projektmappe hinzu.

  5. Klicken Sie mit der rechten Maustaste auf das Setup-Projekt auf HinzufügenKnoten, und klicken Sie dann auf Projektausgabe.

  6. Klicken Sie auf OK , um Primäre Ausgabe des DeployPackage-Projektshinzuzufügen.

    Der Abhängigkeiten prüfer wird ausgeführt und fügt dem Setup-Projekt Abhängigkeiten hinzu. Die meisten dieser Abhängigkeiten können Binärdateien an, die bereits auf einem Zielcomputer vorhanden sind, der Visual Studio installiert ist.

  7. Wählen Sie alle erkannten Abhängigkeiten mit Ausnahme von Microsoft .NET Framework mit der rechten Maustaste auf die Auswahl, und klicken Sie dann auf Ausschließen.

  8. Klicken Sie auf den Knoten Setup-Projekt.

    Die Projekteigenschaften werden im Eigenschaftenfenster angezeigt.

  9. Ändern Sie die ProductName-Eigenschaft to My Paket bereitstellen.

  10. Ändern Sie die Name-Eigenschaft to My Paket-Setup bereitstellen.

  11. Klicken Sie auf das Registrierungs-Editor-Symbol auf der Symbolleiste Projektmappen-Explorer .

    Der Registrierungs-Editor wird.

  12. Klicken Sie mit der rechten Maustaste auf Registrierung auf Zielcomputer , und klicken Sie dann auf Importieren.

    Das Registrierung importieren wird angezeigt.

  13. Navigieren Sie zu \ bin \ Debug \ Ordner des DeployPackage-Projekts und wählen DeployPackage.reg. Klicken Sie auf Öffnen.

    Die Registrierungsschlüssel, die Sie für CodeBase-Bereitstellung generiert werden dem HKEY_LOCAL_MACHINE-Knoten im Registrierungs-Editor hinzugefügt.

Wenn Sie die Registrierungsschlüssel in \ Software \ Microsoft \ VisualStudio \ 9.0 \ Packages \ Knoten sicherstellen, finden Sie zwei hartcodierte Pfade. Diese müssen durch Pfade ersetzt werden, die während der Installation festgelegt werden.

Um die codierter Pfade entfernen

  1. Wählen Sie im Registrierungs-Editor den CodeBase-Taste aus, und wählen Sie die Value-Eigenschaft im Eigenschaften Windows aus.

  2. Ändern des Pfads, relativ zum Ziel installations zu sein:

    [TARGETDIR]deploypackage.dll
    
  3. Wählen Sie im Registrierungs-Editor den Schlüssel InProcServer32 aus, und wählen Sie dann im Eigenschaftenfenster die Value-Eigenschaft aus.

  4. Ändern des Pfads, relativ zum Ziel systemverzeichnis sind wie folgt:

    [SystemFolder]mscoree.dll
    

Nachdem Sie auf dem Zielcomputer installieren, müssen Sie devenv.exe mit dem Schalter /setup- ausführen. Sie können dies der Installation als benutzerdefinierte Aktion hinzu. Um eine benutzerdefinierte Aktion erstellen, müssen Sie zuerst ein Projekt hinzufügen eine Klasse zu erstellen, die von der Installer-Klasse abgeleitet ist.

So fügen Sie ein Installationsprogramm Projekt Klassen hinzufügen

  1. Zeigen Sie im Menü Datei auf Neu, und klicken Sie dann auf Projekt.

    Das Dialogfeld Neues Projekt wird angezeigt.

  2. Erstellen Sie Visual C#- oder Visual Basic-Klassenbibliothek , das DevenvSetupCustomAction benannt ist.

  3. Löschen Sie die Class1.cs- oder Class1.vb-Datei.

  4. Klicken Sie mit der rechten Maustaste auf DevenvSetupCustomActions-Projektknoten Hinzufügen, und klicken Sie dann auf Neues Element.

  5. Erstellen Sie eine neue Installerklasse , das DevenvSetup benannt ist.

  6. Klicken Sie mit der rechten Maustaste auf DevenvSetup.cs- oder DevencSetup.vb-Knoten, und klicken Sie dann auf Code anzeigen.

  7. Fügen Sie die folgenden Zeilen oder using den Imports-Anweisungen hinzu:

  8. Überschreiben der Benutzeroberflächen-Editor Methode durch den folgenden Code, DevenvSetup-Klasse direkt hinter dem Konstruktor hinzufügen:

    Dieser Code durchsucht die Registrierung auf dem Zielcomputer für das benannte EnvironmentPath Wert \ Software \ Microsoft \ VisualStudio \ 9.0 \ Setup \ GEGEN \ Schlüssel. Der Wert von EnvironmentPath ist der vollständige Pfad zu devenv.exe. Der Benutzeroberflächen-Editor Methode wird devenv.exe mit dem /setup- und wartet darauf, um zu beenden.

    Hinweis

    Wenn Sie keine Projekt- und Elementvorlagen installiert haben, können Sie die Installation verkürzen, indem Sie den /nosetupvstemplates- hinzufügen wie folgt:

Nachdem Sie eine benutzerdefinierte Aktion verfügen, können Sie diese zum Setup-Projekt hinzu.

So fügen Sie eine benutzerdefinierte Aktion zum Setup-Projekt hinzu

  1. Klicken Sie mit der rechten Maustaste auf das Setup-Projekt auf HinzufügenKnoten, und klicken Sie dann auf Projektausgabe.

    Das Dialogfeld Projektausgabegruppe hinzufügen wird angezeigt.

  2. Wählen Sie auf der DevenvSetupCustomAction Projekt Liste.

    Primäre Ausgabe von DevenvSetupCustomAction (Aktiv) Knoten Abhängigkeiten Deserialisierung wird dem Projektmappen-Explorer hinzugefügt.

  3. Wählen Sie den Knoten Setup-Projekt aus, und klicken Sie dann auf das Symbol auf der Editor für benutzerdefinierte AktionenProjektmappen-Explorer Symbolleiste.

    Der Editor für benutzerdefinierte Aktionen wird angezeigt.

  4. Klicken Sie mit der rechten Maustaste auf den Knoten Installieren aus, und klicken Sie dann auf Benutzerdefinierte Aktion hinzufügen.

    Das Dialogfeld Element im Projekt auswählen wird angezeigt.

  5. Doppelklicken Sie auf den Anwendungsordner und wählen Sie dann **Primäre Ausgabe von DevenvSetupCustomAction (Aktiv)**aus. Klicken Sie auf OK.

    Die benutzerdefinierte Aktion ist auf den Knoten Installieren hinzugefügt.

So testen Sie das Setup-Projekt

  1. Erstellen Sie die DeployPackage-Projektmappe.

    DeployPackage.dll und DevenvSetupCustomAction.dll erstellt werden.

  2. Erstellen Sie das Setupprojekt auf.

    Setup.exe und Setup.msi erstellt werden.

  3. Schließen Sie Visual Studio.

  4. Copy " setup.exe " auf dem Zielcomputer. Sie können die Datei setup.exe auf dem Entwicklungscomputer ausführen, wenn kein Zielcomputer verfügbar ist.

    Hinweis

    Der Computer muss Visual Studio installiert haben.Die Version von Visual Studio muss den Registrierungsschlüssel entsprechen, der von der benutzerdefinierten Aktion verwendet wird.

  5. Führen Sie " setup.exe " auf dem Zielcomputer.

    Hinweis

    Ausführen von " /setup " devenv dauert möglicherweise eine Weile.Sie können den Status von dem Verwenden des Task-Managers folgen.

  6. Installieren Sie DeployPackage, und übernehmen Sie alle Standardeinstellungen.

  7. Führen Sie Visual Studio aus.

  8. Zeigen Sie im Menü Extras Klicken Sie auf Mein Bereitstellungsbefehl. Sie sollten ein Meldungsfeld anzuzeigen, das die folgende Meldung angezeigt:

    Inneres Company.DeployPackage.DeployPackage.MenuItemCallback()

  9. Schließen Sie das Meldungsfeld, und die Beendigung Visual Studio.

  10. In Systemsteuerung(Windows Vista) im ausgewählten Programme und Funktionen (Windows XP) oder in Software.

  11. Deinstallieren Sie My Paket bereitstellen.

  12. Führen Sie Visual Studio aus.

  13. Stellen Sie sicher, dass Mein Bereitstellungsbefehl nicht mehr auf dem Extras Menü dargestellt wird.

Bereitstellung mithilfe des Toolsets des Windows Installer-XML

Ein anderer Ansatz zum Bereitstellen von einem VSPackage ist, des Windows Installer XML zu verwenden. Das Toolset kompiliert .wxs-Dateien, um MSI-Dateien zu erzeugen. Benutzerdefinierte Aktionen, z. B. Zusammenführen von Menüs, sind einfacher zu erstellen, indem .wxs-Dateien verwendet als mit Windows Installer-Setupprojekte verwendet.

Weitere Informationen über das Toolset finden Sie unter http://wix.sourceforge. Netz.

Sie können das RegPkg-Hilfsprogramm verwenden, um eine WXS-Datei erstellen, um ein VSPackage in der Systemregistrierung zu registrieren. Fügen Sie dieser Datei in eine vollständigere WXS-Datei ein VSPackage bereitstellt und die Menüs in Visual Studiozusammenführt. Kompilieren Sie anschließend diese WXS-Datei mit den candle.exe- und light.exe-Toolen, um eine MSI-Datei für die VSPackage-Bereitstellung zu erzeugen.

Erstellen Sie zunächst die äußere DeployPackage.wxs-Datei und fügen Sie sie dem DeployPackage-Projekt hinzu.

So erstellen Sie DeployPackage.wxs-Datei

  1. In Projektmappen-Explorermit der rechten Maustaste auf DeployPackage-Projektknoten Hinzufügen, und klicken Sie dann auf Neues Element.

    Das Dialogfeld Neues Element hinzufügen wird angezeigt.

  2. Wählen Sie die Elementvorlage Textdatei aus, nennen Sie die Datei DeployPackage.wxs, und klicken Sie dann auf Hinzufügen. Die leere Datei wird im Editor.

  3. Fügen Sie diese Zeilen der Datei hinzu:

<?xml version='1.0' encoding='windows-1252'?>

<?define VisualStudioRegistryRoot = "Software\Microsoft\VisualStudio\9.0" ?>

<Wix xmlns='https://schemas.microsoft.com/wix/2003/01/wi'>
  <Product Name='DeployPackage' Id='54748C47-DC70-43ec-A296-ECD7F30A548C'
    Language='1033' Codepage='1252' Version='1.0.0' Manufacturer='My Company'>

    <Package Id='????????-????-????-????-????????????' Keywords='Installer'
      Description="Deploy Package Installer"
      Comments='Demonstrates VSPackage deployment' Manufacturer='My Company'
      InstallerVersion='100' Languages='1033' Compressed='yes' SummaryCodepage='1252' />

    <Media Id='1' Cabinet='Sample.cab' EmbedCab='yes' />

    <!-- Properties -->
    <Property Id="DEVENV_EXE_PATH">
      <RegistrySearch Id="RegSearch_DevenvExe_Path" Root="HKLM" Key="$(var.VisualStudioRegistryRoot)\Setup\VS" Name="EnvironmentPath" Type="raw" />
    </Property>

    <!-- Launch conditions -->
    <Condition Message="An administrator must approve or install [ProductName]."> Privileged </Condition>
    <Condition Message="[ProductName] requires Visual Studio 2010."> DEVENV_EXE_PATH </Condition>

    <!-- Root directories -->
    <Directory Id="TARGETDIR" Name="SourceDir">
      <Directory Id="ProgramFilesFolder" Name="PFILES">
        <Directory Id="INSTALLDIR" Name="MyFolder" >

          <Component Guid="7D6D266D-4197-439b-ADB4-D51876269055" Id="MainExecutable">
            <File Id="Deploy.dll" Name="Deploy.dll" LongName="DeployPackage.dll" Source="bin\Debug\DeployPackage.dll" Vital="yes" DiskId="1" />
            <?include DeployFragment.wxs ?>
          </Component>
        </Directory>
      </Directory>
    </Directory>

    <Feature Id='Complete' Level='1'>
      <ComponentRef Id='MainExecutable' />
    </Feature>

    <InstallExecuteSequence>
      <Custom Action="CA_DeployPackage" Before="InstallFinalize" />
    </InstallExecuteSequence>

    <CustomAction Id="CA_DeployPackage" Property="DEVENV_EXE_PATH" ExeCommand="/setup /nosetupvstemplates" Impersonate="no" Execute="deferred" />

  </Product>
</Wix>
  1. Speichern Sie die Änderungen.

Die äußere DeployPackage.wxs-Datei verweist auf eine Zwischendatei an, die DeployFragment.wxs, das Sie aus DeployPackage.dll generieren.

So generieren DeployFragment.wxs-Datei

  1. Klicken Sie im Fenster SystemdefinitionsmodellBefehl navigieren Sie zu dem Ordner, der DeployPackage.dll enthält. Dieses i. d. R. im Projekt befindet sich im Ordner " \ bin \ Debug \ Verzeichnis.

  2. Geben Sie die folgende Zeile an der Eingabeaufforderung ein:

    regpkg /wixfile:.. \.. \DeployFragment.wxs /codebase DeployPackage.dll

    RegPkg erstellt die DeployPackage.wxs-Datei im DeployPackage-Projektordner.

  3. In Visual Studio DeployPackage-Projektknoten mit der rechten Maustaste, zeigen Sie auf Hinzufügen, und klicken Sie dann auf Vorhandenes Element.

    Der Vorhandenes Element hinzufügen Bos Dialog Box wird angezeigt.

  4. Navigieren Sie zum DeployPackage-Projektordner.

  5. Legen Sie den Filter fest, um Alle DateienDatei anzuzeigen, wählen Sie die DeployFragment.wxs-Datei aus, und klicken Sie dann auf Hinzufügen.

    Die DeployFragment.wxs-Datei DeployPackage-Projekt wird dem Projektmappen-Explorer hinzugefügt.

  6. Öffnen Sie die DeployFragment.wxs-Datei zur Bearbeitung.

  7. Ändern Sie den Wert des Elements, das der CodeBase Registrierungsdaten, damit sie das name-Attribut des DeployPackage.wxs-Datei Elements übereinstimmt.

    <Registry Name="CodeBase" Value="[#Deploy.dll]" Type="string" />
    
  8. Speichern Sie die Änderungen.

Während eine vollständige Erläuterung der Elemente der WXS-Datei außerhalb des Rahmens dieser exemplarischen Vorgehensweise ist, sind hier einige Punkte, die Sie abrufen gestartet haben.

  • Viele Toolset Elementen nehmen eine GUID als ID. Der GUID muss ersetzt werden, wenn Sie eine neue WXS-Datei erstellen. GUIDs innerhalb der Tags enthalten sollte nicht ersetzt werden, weil sie ein VSPackage gehören.

  • Die Datei hat ein Element, das name-Attribut eines kurzen (DOS) 8.3 formatierten Namen verwendet, und wird nur zum Zweck der Identifizierung verwendet. Tatsächliche VSPackage ist für die Attribute LongName und der Quelle angegeben. Üblicherweise ist das ID-Attribut dasselbe wie das name-Attribut.

  • Das Namensattribut des Elements DeployPackage.wxs-Datei muss den Wert der benannten Element DeployFragment.wxs-Registrierung CodeBase übereinstimmen. Denken Sie daran, dass das Name-Attribut ein kurzer (DOS) 8.3 formatierter Dateiname ist.

  • Das CustomActions-Element gibt die benutzerdefinierte Aktion an. Die imitierte und Attribute werden aus, damit Visual Studio festgelegte erhöhte Rechte unter Windows Vista bietet, während die benutzerdefinierte Aktion ausgeführt wird. Die ExeCommand-Attributverwendung der Schalter /nosetupvstemplates- nutzen, die Tatsache, dass Sie keine Element- oder Projektvorlagen installieren. Dieses Setup erheblich verringert.

Nachdem die WXS-Datei abgeschlossen ist, können Sie sie .msi-Setup kompilieren, um die Datei zu erstellen.

So kompilieren DeployPackage.wxs-Datei

  1. Klicken Sie im Fenster SystemdefinitionsmodellBefehl navigieren Sie zu dem DeployPackage-Projektordner. Dieser Ordner enthält die Datei DeployPackage.wxs.

  2. Fügen Sie den vollständigen Pfad des Toolsets der Umgebungs-Pfad die Variable hinzu. Beispiel:

    set Path=%Path%;C:\Program Files\Microsoft Visual Studio 2010 SDK\VisualStudioIntegration\Tools\Toolset
    
  3. Geben Sie an der Eingabeaufforderung die folgende Zeile ein.

    candle DeployPackage.wxs

    Dadurch wird die DeployPackage.wixobj-Objektdatei.

  4. Geben Sie an der Eingabeaufforderung die folgende Zeile ein.

    light DeployPackage.wixobj

    Dadurch wird die DeployPackage.msi-Objektdatei.

So testen Sie die Datei .msi-Bereitstellungs

  • Installieren von VSPackages auf dem Zielcomputer.

  • Testen Sie, dass ein VSPackage auf den Zielcomputer ausgeführt wird.

  • Deinstallieren von VSPackages aus dem Zielcomputer.

So testen Sie das Setup-Projekt

  1. Kopieren Sie DeployPackage.msi auf den Zielcomputer. Sie können diese auf dem Entwicklungscomputer ausführen, wenn kein Zielcomputer verfügbar ist.

    Hinweis

    Der Computer muss Visual Studio installiert haben.Die Version von Visual Studio muss den Registrierungsschlüssel entsprechen, der von der Startbedingung und durch die benutzerdefinierte Aktion verwendet wird.

  2. Führen Sie DeployPackage.msi auf dem Zielcomputer aus.

    Hinweis

    Kein Assistent.Es ist möglich, light.exe einen Assistenten hinzufügen, indem Sie eine Toolset Library verwendet.Weitere Informationen finden Sie unter http://wix.sourceforge.Netz.

  3. Führen Sie Visual Studio aus.

  4. Zeigen Sie im Menü Extras Klicken Sie auf Mein Bereitstellungspaket. Sie sollten ein Meldungsfeld anzuzeigen, das die folgende Meldung angezeigt:

    Inneres Company.DeployPackage.DeployPackage.MenuItemCallback()

  5. Schließen Sie das Meldungsfeld, und schließen Sie Visual Studio.

  6. In Systemsteuerung(Windows Vista) im ausgewählten Programme und Funktionen (Windows XP) oder in Software.

  7. Deinstallieren Sie DeployPackage.

  8. Führen Sie Visual Studio aus.

  9. Stellen Sie sicher, dass Mein Bereitstellungsbefehl nicht mehr auf dem Extras Menü dargestellt wird.

Siehe auch

Weitere Ressourcen

Installieren von VSPackages

VSPackages mithilfe von Windows Installer installieren