Freigeben über


Erstellen einer DCOM-Client-/Serveranwendung mithilfe von Visual Basic

In diesem Artikel wird beschrieben, wie Sie eine DCOM-Client-/Serveranwendung (Distributed Component Object Model) mithilfe von Visual Basic erstellen, packen und bereitstellen.

Originalproduktversion: Visual Basic
Ursprüngliche KB-Nummer: 266717

Zusammenfassung

In diesem Artikel erfahren Sie, wie Sie eine DCOM-Client-/Serveranwendung mithilfe von Visual Basic erstellen, packen und bereitstellen. Zum Erstellen einer DCOM-Client-/Serveranwendung benötigen Sie die Enterprise Edition von Visual Basic. Microsoft geht davon aus, dass der Leser bereits mit dem Erstellen von Client-/Serveranwendungen vertraut ist, die auf demselben Computer ausgeführt werden.

Weitere Informationen

Sie müssen Ihren Code nicht ändern, damit eine Clientanwendung einen Remoteserver mithilfe von DCOM instanziieren kann. Der Unterschied besteht darin, wie Sie den Client packen und bereitstellen. Darüber hinaus gibt es einige Sicherheitseinstellungen, die Sie nach der Installation des Clients und des Servers vornehmen müssen. Sie können diese Einstellungen mithilfe eines Hilfsprogramms namens "Dcomcnfg" vornehmen.

Die folgenden Schritte zeigen, wie Sie eine Client-/Serveranwendung verteilen und konfigurieren. Benennen Sie den Server DCOMDemo_Svr, und benennen Sie den Client DCOMDemo_Cli. Erstellen Sie einen separaten Ordner für jeden Ordner. Rufen Sie diese Ordner c:\DCOMDemo\Server and c:\DCOMDemo\Clientfür den Zweck dieses Artikels auf.

Erstellen des Servers

  1. Starten Sie ein neues Visual Basic-Projekt. Wählen Sie im Dialogfeld "Neues Projekt" ActiveX EXE aus, und klicken Sie dann auf "Öffnen". Klasse1 wird standardmäßig erstellt.

  2. Fügen Sie dem Modul "Class1" den folgenden Code hinzu:

    Public Function ServerTime() As String
        ServerTime = Time
    End Function
    
  3. Klicken Sie im Menü "Projekt " auf die Option "Projekteigenschaften ", und wählen Sie dann die Registerkarte "Allgemein " aus.

  4. Geben Sie im Feld "Projektname" DCOMDemo_Svr ein.

  5. Geben Sie im Feld "Projektbeschreibung " DCOMDemo_Svr - Server ein. Überprüfen Sie die Option "Unbeaufsichtigte Ausführung ".

    Notiz

    Diese Option sollte immer auf Servern eingecheckt werden, auf denen keine Benutzeroberfläche vorhanden ist, um sicherzustellen, dass während der Ausführung des Servers keine Dialogfelder eines Typs angezeigt werden. Wenn Sie eine Art von Benutzerinteraktion haben, während ihr Server unter einer Identität ausgeführt wird, die nicht der interaktive Benutzer ist, scheint ihr Server möglicherweise hängen zu bleiben.

  6. Wählen Sie die Registerkarte "Komponente " aus, und aktivieren Sie die Option "Remoteserverdateien ".

    Notiz

    Wenn Sie diese Option aktivieren, generiert der Visual Basic-Compiler die VBR- und TLB-Dateien, die zum Packen der Clientanwendungen erforderlich sind, die diesen Server verwenden. Diese Dateien enthalten Registrierungseinträge, die auf dem Clientcomputer enthalten sein müssen.

  7. Schließen Sie das Dialogfeld "Projekteigenschaften ".

  8. Wählen Sie im Menü "Datei" die Option "Speichern unter" aus, und speichern Sie das Projekt dann im c:\DCOMDemo\Server folderMenü "Datei".

  9. Wählen Sie im Menü "Datei " die Option "DCOMDemo_Svr erstellen" aus, und kompilieren Sie den Server.

  10. Wählen Sie im Menü "Projekt " die Option "Projekteigenschaften " und dann die Registerkarte "Komponente " aus.

  11. Wählen Sie auf der Registerkarte "Komponente " die Option "Versionskompatibilität" aus, wählen Sie die Option "Binärkompatibilität " aus, und machen Sie dann die Projekt-Binärdatei mit der von Ihnen erstellten ausführbaren Datei des Servers kompatibel (DCOMDemo_Svr.exe). Wenn Sie diese Option auswählen, stellen Sie sicher, dass alle GUIDs gleich bleiben, wenn Sie den Server neu kompilieren.

Erstellen des Clients

  1. Wählen Sie im Menü "Datei " die Option "Neues Projekt " aus, wählen Sie "Standard EXE" aus, und klicken Sie dann auf "OK". Formular1 wird standardmäßig erstellt.

  2. Klicken Sie im Menü "Projekt " auf die Option "Projekteigenschaften ", und wählen Sie dann die Registerkarte "Allgemein " aus.

  3. Geben Sie im Feld "Projektname" DCOMDemo_Cli ein.

  4. Geben Sie im Feld "Projektbeschreibung " DCOMDemo_Cli Projekt - Client ein.

  5. Wählen Sie im Menü "Projekt" die Option "Verweise" aus. Wählen Sie in der Liste der verfügbaren Verweise DCOMDemo_Svr – Server aus.

  6. Platzieren Sie eine Befehlsschaltfläche in Form1, und ändern Sie die Beschriftung der Schaltfläche in "Ausführen".

  7. Platzieren Sie den folgenden Code im Click-Ereignis der Schaltfläche:

    Dim MyObj As DCOMDemo_Svr.Class1
    
    On Error GoTo err1
    
    Set MyObj = CreateObject("DCOMDemo_Svr.Class1")
    MsgBox "Server Time=" & MyObj.ServerTime & " Client Time=" & Time
    
    Exit Sub
    err1:
    MsgBox "Connection failed: Error " & Err.Number & " - " & Err.Description
    
  8. Wählen Sie im Menü "Datei " die Option "Speichern unter" aus, und speichern Sie das Projekt dann im Ordner c:\DCOMDemo\Clientdes Clients.

  9. Drücken Sie F5, um den Client in der IDE auszuführen, und testen Sie ihn.

  10. Wählen Sie im Menü "Datei " die Option "DCOMDemo_Cli erstellen" aus, um den Client zu kompilieren, und schließen Sie Dann Visual Basic.

Packen des Servers

Verwenden Sie den Paket- und Bereitstellungs-Assistenten, um Ihren Server wie gewohnt für die Verteilung zu verpacken. Der Server wird von einem Remoteclient mit DCOM instanziiert. Beim Erstellen des Pakets für Ihren Server erhalten Sie ein Dialogfeld, in dem Sie gefragt werden, ob dieser Server als Remoteautomatisierungsserver verwendet wird und wenn Sie Supportdateien für diesen Zweck einschließen möchten. Klicken Sie einfach auf die Schaltfläche "Nein ", da DCOM keine Remoteautomatisierung ist. Die Remoteautomatisierung ist eine ältere Technologie, die durch DCOM ersetzt wurde.

Packen des Clients

Beim Packen des Clients gibt es einige spezifische Schritte, die ausgeführt werden müssen, da der Server nicht auf demselben Computer wie der Client ausgeführt wird. Die Am Paket des Clients vorgenommenen Änderungen stellen sicher, dass nur die Typbibliothek (TLB-Datei) installiert ist und einige zusätzliche Registrierungseinträge anstelle der ausführbaren Datei des Servers enthalten sind, die nicht auf dem Computer des Clients erforderlich ist, da sie dort nicht ausgeführt werden.

Packen Sie den Client mithilfe der folgenden Schritte:

  1. Starten Sie den Paket- und Bereitstellungs-Assistenten, und wählen Sie dann das Projekt des Clients aus.

  2. Klicken Sie auf die Schaltfläche "Paket ". Wählen Sie im Dialogfeld "Pakettyp " die Option "Standardsetuppaket" aus, und klicken Sie dann auf "Weiter".

  3. Wählen Sie im Dialogfeld "Paketordner " den Ordner aus, um das Paket zu speichern, und klicken Sie dann auf "Weiter". In diesem Fall ist es c:\DCOMDemo\Client\Package.

    Notiz

    Möglicherweise wird ein Dialogfeld angezeigt, in dem angegeben wird, dass keine Abhängigkeitsinformationen für den Server vorhanden sind. Klicken Sie auf "OK ", da dieser Server keine Abhängigkeiten aufweist.

    Nun sollten Sie sich im Dialogfeld "Eingeschlossene Dateien" befinden.

  4. Deaktivieren Sie die auswahl der ausführbaren Datei des Servers, DCOMDemo_Svr.exe, da Sie die ausführbare Datei des Servers nicht verteilen möchten, und klicken Sie dann auf die Schaltfläche "Hinzufügen".

  5. Ändern Sie das Kombinationsfeld "Dateien vom Typ" in Remoteserverdateien (*.vbr).

  6. Zeigen Sie auf den Ordner, in dem Sie das Projekt Ihres Servers haben (in diesem Fall c:\DCOMDemo\Server), und wählen Sie die zugehörige VBR-Datei DCOMDemo_Svr.VBR aus. Klicken Sie auf " Öffnen", und das Dialogfeld "Datei hinzufügen" wird geschlossen.

    Notiz

    Diese beiden Dateien sind enthalten, DCOMDemo_Svr.VBR und DCOMDemo_Svr.TLB. Klicken Sie auf die Schaltfläche Weiter. Im Dialogfeld "Remoteserver" können Sie den Namen des Computers (Net Address) definieren, auf dem der Server ausgeführt wird. In der Regel behalten Sie dieses Feld leer, da Sie möglicherweise nicht wissen, wo der Server installiert wird. Wenn Sie die Datei leer lassen, werden Sie beim Installieren des Clients aufgefordert. Behalten Sie es für dieses Beispiel leer.

  7. Klicken Sie zum Fortfahren auf Weiter . Sie können jetzt mit den Standardprozeduren für den Paket- und Bereitstellungs-Assistenten fortfahren. Klicken Sie in diesem Fall einfach auf "Weiter" zu allen verbleibenden Dialogfeldern.

Installieren des Servers

Installieren Sie den Server auf dem Computer, auf dem Sie ihn ausführen möchten, mithilfe des zuvor erstellten Verteilungspakets. Wenn Sie den Entwicklungscomputer zum Ausführen des Servers verwenden möchten, müssen Sie ihn nicht installieren, da Visual Basic die Registrierung für Sie vorgibt, wenn er den Server kompiliert.

Installieren des Clients

Installieren Sie den Client auf dem Computer, auf dem Sie ihn ausführen möchten, mithilfe des zuvor erstellten Verteilungspakets. Da dieser Client einen DCOM-Server verwendet und Sie den tatsächlichen Speicherort des Servers leer gelassen haben, wenn Sie das Verteilungspaket erstellt haben, müssen Sie diesen Speicherort jetzt angeben. Wenn Sie beim Setup zur Eingabe dieses Speicherorts aufgefordert werden, geben Sie den Namen des Computers an, auf dem Sie den Server installiert haben.

Festlegen der Sicherheit des Servers

Wenn Sie den Server auf einem Windows NT- oder Windows 2000-Computer installiert haben, müssen Sie die Sicherheit dafür konfigurieren. Verwenden Sie dazu Dcomcnfg, wie in den folgenden Schritten dargestellt, wobei davon ausgegangen wird, dass client- und servercomputer Teil einer Domäne sind und der Benutzer, der sich am Clientcomputer angemeldet hat, als Domänenbenutzer angemeldet ist. Die vorgeschlagenen Einstellungen sind nur eine mögliche Konfiguration. Sie sind generisch und gewähren breiten Zugriff auf den Server. Denken Sie daran, dass dies nur ein Beispiel ist. Wenn Sie Ihre echten Anwendungen bereitstellen, und die Sicherheit ist ein Problem für Ihre Umgebung, sollten Sie restriktivere Optionen auswählen. Wenn der Computer, den Sie zum Testen dieses Beispielservers verwenden, auch zum Ausführen anderer Server verwendet wird, notieren Sie sich die aktuellen Einstellungen, bevor Sie die folgenden Änderungen vornehmen, und kehren Sie zu den ursprünglichen Einstellungen zurück, sobald Sie mit Ihren Tests fertig sind.

  1. Klicken Sie auf dem Servercomputer auf die Schaltfläche "Start", und wählen Sie dann "Ausführen" aus. Geben Sie im Dialogfeld "Ausführen " den Befehl "Dcomcnfg" ein, und klicken Sie dann auf "OK". Sie müssen über Administratorrechte verfügen, um Dcomcnfg ausführen zu können.
  2. Wählen Sie die Registerkarte "Standardeigenschaften " aus, und vergewissern Sie sich, dass "Verteiltes COM auf diesem Computer aktivieren" aktiviert ist.
  3. Legen Sie die Standardauthentifizierungsebene auf "Verbinden" fest, und legen Sie die Standardidentitätswechselstufe fest, die identifiziert werden soll.
  4. Wählen Sie die Registerkarte "Standardsicherheit " aus.
  5. Klicken Sie auf die Schaltfläche "Standard bearbeiten" im Bereich "Standardzugriffsberechtigungen" .
  6. Vergewissern Sie sich, dass "Jeder" und "System" in der Liste mit Berechtigung "Zugriff zulassen" enthalten sind. Wenn nicht, können Sie die Schaltfläche "Hinzufügen " verwenden, um sie der Liste hinzuzufügen. Klicken Sie auf "OK ", wenn die Liste abgeschlossen ist.
  7. Klicken Sie im Bereich "Standardstartberechtigungen" auf die Schaltfläche "Standard bearbeiten".
  8. Vergewissern Sie sich, dass "Jeder" und "System" in der Liste mit den Berechtigungen "Start zulassen" enthalten sind. Wenn dies nicht der Derart ist, verwenden Sie die Schaltfläche "Hinzufügen ", um sie der Liste hinzuzufügen. Klicken Sie auf "OK ", wenn die Liste abgeschlossen ist.
  9. Wählen Sie die Registerkarte "Anwendungen " aus, markieren Sie Ihren Server, DCOMDemo_Svr.Class1, und klicken Sie dann auf die Schaltfläche "Eigenschaften ".
  10. Wählen Sie die Registerkarte "Allgemein " aus, legen Sie die Authentifizierungsebene auf "Standard" fest, und wählen Sie dann die Registerkarte "Speicherort " aus. Die einzige aktivierte Option sollte die Anwendung "Ausführen" auf diesem Computer sein.
  11. Wählen Sie die Registerkarte "Sicherheit " aus, und vergewissern Sie sich, dass die Standardzugriffsberechtigungen verwenden und die Standardstartberechtigungsoptionen aktiviert sind.
  12. Aktivieren Sie die Registerkarte "Identität", aktivieren Sie die Option "Benutzer starten", klicken Sie auf "OK", um das Dialogfeld "Servereigenschaften" zu schließen, und klicken Sie dann erneut auf "OK", um Dcomcnfg zu schließen. Wie Sie sehen können, verwendet der Testserver alle Standardeinstellungen. Wenn Sie Ihre eigenen Server bereitstellen, sollten Sie Einstellungen definieren, die für Ihre Anwendung spezifisch sind. Alle benutzerdefinierten Einstellungen haben Vorrang vor den Standardeinstellungen.

Jetzt können Sie Den Server testen. Starten Sie auf dem Clientcomputer den Client, und klicken Sie dann auf die Schaltfläche "Ausführen ". Es sollte ein Meldungsfeld angezeigt werden, das die Uhrzeit des Servers angibt. Wenn Sie dieses Beispiel nicht erfolgreich testen können, lesen Sie den Artikel zur Problembehandlung, Q269330, der im Abschnitt "Verweise" aufgeführt ist.