Zum Implementieren einer SQL Server 2000 Desktop Engine-Rückruffunktion und Beispiel

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 315463 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Dieser Artikel wurde archiviert. Er wird im vorliegenden Zustand bereitgestellt und nicht mehr aktualisiert.
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Dieser Artikel beschreibt, wie eine Rückruffunktion während der Installation von SQL Server 2000 Desktop Engine (MSDE 2000) zu implementieren und auch alle Bedingungen, die sicherstellen, dass die Rückruffunktion ordnungsgemäßes erfüllt sein müssen.

SQL Server 2000 Desktop Engine (MSDE 2000) ist eine verteilbare Version des relationalen Datenbankmoduls in Microsoft SQL Server 2000. Sie ermöglicht es eine Anwendung, die relationale SQL Server-Datenbankmodul, verwendet So installieren Sie das Modul als ein Teil der Anwendung Setup.

Das Installationspaket von MSDE 2000 ermöglicht Ihnen, eine Rückruffunktion verwenden, um den Fortschritt überwachen oder benutzerdefinierte Aktionen während der Installation.

Bedingungen für die Verwendung von der Callback-Funktion

Die Rückruffunktion normal ausgeführt müssen die folgenden Bedingungen erfüllt werden:
  • Sie müssen die Callback-Funktion als ein Windows Installer benutzerdefinierten Aktion Type 1 Dynamic verknüpfte Library (DLL) implementieren. Der Microsoft Visual C++ erweiterte gespeicherte Prozedur Assistent können Sie um einen Rückruf-DLL zu erstellen.

    Weitere Informationen über die Windows Installer-Bibliothek-Typen der folgenden Microsoft Developer Network (MSDN)-Website:
    http://msdn.microsoft.com/library/en-us/msi/cact_6a05.asp?frame=true
  • Die Rückruffunktion muss in eine der folgenden Ordner befinden:
    • Der Ordner, der zurückgegeben wird, durch den GetTempPath Win32-Aufruf.
    • "{Product code}", die im Ordner vorhanden ist, der zurückgegeben wird, durch den GetTempPath Win32-Aufruf.

      Hinweis: {Product code} ist ein Platzhalter für den Produktcode der MSDE 2000-Instanz, die auf Ihrem Computer installiert ist.
    In der Regel der Ordner, der zurückgegeben wird, der GetTempPath Win32-Aufruf wird die Umgebungsvariable TMP % . Wenn die Umgebungsvariable %TMP% nicht verfügbar ist, ist es die Umgebungsvariable %Temp% .

    Weitere Informationen zu GetTempPath Win32-Funktion den folgenden Microsoft Developer Network (MSDN)-Website:
    http://msdn.microsoft.com/library/en-us/fileio/base/gettemppath.asp

  • Die MSDE-Rückruffunktion muss eine zusätzliche UINT-Parameter, die den MSDE-beenden-Code enthält oder Rückgabecode. Die Definition einer Rückruffunktion sieht ähnlich wie
    UINT __stdcall MyCallbackFunction(MSIHANDLE hinstall, UINT uExitCode)
    						
    Exitcode oder Rückgabecode, in dem uExitCode die MSDE-Installation enthält.

Beispiel Schritte und Code zur Implementierung einer Callback-Funktion

Die folgenden Schritte beschreiben die Implementierung von einer Beispiel-Rückruffunktion mithilfe von Microsoft Visual Studio 6.0.

  1. Klicken Sie in der Visual C++ 6.0-Entwicklungsumgebung auf Datei und klicken Sie auf neu . Klicken Sie auf der Registerkarte Projekte auf den erweiterten gespeicherten Prozedur-Assistenten.
  2. Geben Sie einen Projekt an. Beispielsweise MyCallback . Sie können auch den Speicherort angeben, in dem Sie das Projekt erstellen möchten. Klicken Sie auf OK .
  3. Geben Sie einen Namen an die Rückruffunktion. Beispielsweise MyCallbackFunction . Beachten Sie, dass im Beispiel wird der Assistent für erweiterte gespeicherte Prozedur verwendet, um einen Rückruf-DLL zu erstellen. Der Assistent empfiehlt, dass Sie Namen beginnend mit "XP_" angeben. Sie können jedoch die Empfehlung ignorieren und geben den Callback-Funktionsnamen Ihrer Wahl. Klicken Sie auf Fertig stellen .
  4. Dadurch wird die Klassen und die erforderlichen Cpp -Dateien erstellt. Klicken Sie im Arbeitsbereich sehen Sie den Arbeitsbereich für dieses Projekt. Wählen Sie die Klassenansicht , und erweitern Sie dann den Globals -Ordner in der Struktur MyCallback Klassen . Es wird die Definition der Funktion MyCallbackFunction angezeigt.

    Der Beispielcode für die Callback-Funktion ist in der folgende Beispielcode Überschrift. Sie können das Projekt testen, durch den folgenden Code in die Funktion MyCallbackFunction kopieren.

    Beispielcode

    #include <stdafx.h>
    
    #define XP_NOERROR 0
    #define XP_ERROR 1
    #define MAXCOLNAME 25
    #define MAXNAME 25
    #define MAXTEXT 255
    
    #ifdef __cplusplus
    extern "C" {
    #endif
    
    UINT __declspec(dllexport) MyCallbackFunction(HANDLE hinstall, UINT uExitCode);
    
    #ifdef __cplusplus
    }
    #endif
    
    UINT __declspec(dllexport) MyCallbackFunction(HANDLE hinstall, UINT uExitCode)
    {
    
         TCHAR buffer[1024];
    
         wsprintf(buffer, TEXT("**Callback** Return code is %d"), uExitCode);
    
         MessageBox(NULL, buffer, TEXT("MyCallbackFunction Dialog"), MB_OK);
    
         return 0;
    }
    					
    In diesem Beispiel Callback-Funktion zeigt ein Meldungsfeld mit diesem Text bei jedem Aufruf:
    **Callback** Return code is 0
    					
  5. Erstellen Sie die Datei MyCallback.dll mithilfe von im Menü Erstellen . Die DLL erstellt und in einem Unterordner namens Debuggen , an dem Speicherort, den Sie in Schritt 2 angegeben gespeichert wird.
  6. Nachdem die DLL erstellt wurde, müssen Sie die DLL an einen Speicherort kopieren, von die der MSDE 2000-Version abhängig, die auf Ihrem Computer installiert ist.
    • Wenn Sie Microsoft SQL Server 2000 Desktop Engine SP2 verwenden, müssen Sie die DLL an den Speicherort kopieren, die durch eine der folgenden Umgebungsvariablen definiert ist:
      • %TMP%
      • % Temp% .
      Um die Umgebung Variablenwerte auf einem bestimmten Computer für den Benutzer erhalten, der derzeit angemeldet ist, geben Sie Folgendes an einer Eingabeaufforderung ein:
      SET
      Dieser Befehl zeigt alle Umgebungsvariablen einschließlich TMP und TEMP .
    • Wenn Sie Microsoft SQL Server 2000 Desktop Engine SP3a verwenden, müssen Sie die DLL auf eine der folgenden Speicherorte kopieren:
      • %TMP%\ {Product code}
      • %TEMP%\ {Product code}
      Hinweis: {Product code} ist ein Platzhalter für den Produktcode der MSDE 2000-Instanz, die auf Ihrem Computer installiert ist.

      Z. B. Wenn Ihre MSDE 2000-Instanz einen Produktcode E09B48B5-E141-427A-AB0C-D3605127224A hat, Sie müssen kopieren die DLL, die % TMP%\{E09B48B5-E141-427A-AB0C-D3605127224A} oder TEMP%\{E09B48B5-E141-427A-AB0C-D3605127224A %} Ordner.
  7. Verwenden Sie Desktop Engine Windows Installer CALLBACK-Option, um die Rückruffunktion Setup aufzurufen. Zum Beispiel:
    CALLBACK=Dllname!CallbackFunctionName
    in diesem Beispiel die Syntax lautet:
    setup.exe /L*v c:\msde_setup.log CALLBACK=MyCallback!MyCallbackFunction
    					

Informationsquellen

Weitere Informationen finden Sie die folgende KB-Artikelnummer:
299795Erstellen von MSDE 2000 Setup-Pakete mit Microsoft Visual Studio Installer 1.1


Windows Installer SDK ist Bestandteil des Microsoft Platform Software Development Kit (SDK). Weitere Informationen zu Plattform-SDK die folgenden Microsoft-Website:
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
SQL Server 2000-Onlinedokumentation; Themen: "Building Applications", "Verteilen von SQL Server Applications"; "Verteilung mit Applications"; "Desktop Engine Windows Installer Rückgabecodes"; "Desktop Engine Windows Installer Rückruffunktionen"

Eigenschaften

Artikel-ID: 315463 - Geändert am: Dienstag, 28. Januar 2014 - Version: 3.0
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft SQL Server 2000 Desktop Engine (MSDE) SP3a
  • Microsoft SQL Server 2000 Desktop Engine (Windows)
Keywords: 
kbnosurvey kbarchive kbmt kbhowtomaster KB315463 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 315463
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com