Jak implementovat příklad a funkci zpětného volání SQL Server 2000 Desktop Engine

Překlady článku Překlady článku
ID článku: 315463 - Produkty, které se vztahují k tomuto článku.
Tento článek byl archivován. Je nabízen v takovém stavu, v jakém je, a nebude již nadále aktualizován.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Tento článek popisuje, jak implementovat funkci zpětného volání během instalace SQL Server 2000 Desktop Engine (MSDE 2000) a také popisuje všechny podmínky musí být splněny, zda je správně spustí funkci zpětného volání.

SQL Server 2000 Desktop Engine (MSDE 2000) je Redistribuovatelná verze relační databázový stroj v Microsoft SQL Server 2000. Povoluje aplikace používající relační databázový stroj SQL Server nainstalovat modul jako součást procesu instalace aplikací.

Instalační balíček MSDE 2000 umožňuje sledovat průběh nebo provádět vlastní akce během instalace použít funkci zpětného volání.

Podmínky pro použití funkce Callback

Funkce zpětného volání spustit normálně musí být splněny následující podmínky:
  • Funkce zpětného volání musí implementovat jako Instalační služba Windows Installer vlastní akce Type 1 Dynamic propojených knihovna (DLL). Visual C++ Rozšířená uložená procedura Průvodce aplikace můžete například použít k vytvoření zpětného volání DLL.

    Další informace o typech Instalační služba Windows Installer knihovny na webu Microsoft Developer Network (MSDN):
    http://msdn.microsoft.com/library/en-us/msi/cact_6a05.asp?frame=true
  • Funkce zpětného volání musí být umístěn v některém z následujících složek:
    • Složka je vrácena voláním GetTempPath Win32.
    • {Product code} složku, která je ve složce, která je vrácena voláním GetTempPath Win32.

      Poznámka: {Product code} je zástupný symbol pro kód produktu instance MSDE 2000 nainstalované v počítači.
    Obvykle je vrácena složky podle GetTempPath Win32 volání je proměnná prostředí % TMP %. Pokud proměnná prostředí % TMP % není k dispozici, je proměnná prostředí % TEMP %.

    Další informace o funkci Win32 GetTempPath na webu Microsoft Developer Network (MSDN):
    http://msdn.microsoft.com/library/en-us/fileio/base/gettemppath.asp

  • Funkce zpětného volání Desktop Engine musí převzít další parametr UINT obsahující kód ukončení Desktop Engine nebo návratový kód. Definice funkci zpětného volání podobá
    UINT __stdcall MyCallbackFunction(MSIHANDLE hinstall, UINT uExitCode)
    						
    kde uExitCode obsahuje nastavení Desktop Engine kód ukončení nebo návratový kód.

Ukázkový postup a kód provést Callback funkce

Následující kroky popisují implementace Ukázková funkce zpětného volání pomocí aplikaci Microsoft Visual Studio 6.0.

  1. V aplikaci Microsoft Visual C++ 6.0 IDE klepněte na soubor a poté klepněte na tlačítko Nový. Na kartě projekty Průvodce Rozšířená uložená procedura.
  2. Zadejte název projektu. Například MyCallback. Můžete také určit umístění, ve kterém chcete vytvořit projekt. Klepněte na tlačítko OK.
  3. Zadejte název funkce zpětného volání. Například MyCallbackFunction. Poznámka v příkladu používá Rozšířená uložená procedura průvodce k vytvoření zpětného volání DLL. Průvodce se doporučuje zadat název začíná "XP_". Však na toto doporučení a zadat název funkce zpětného volání podle vašeho výběru. Klepněte na tlačítko Dokončit.
  4. Tím vytvoříte tříd a soubory cpp potřebné. V podokně pracovního prostoru uvidíte prostor pro tento projekt. Vyberte ClassView a poté rozbalte složku Globals ve stromu MyCallback tříd. Zde uvidíte definici funkce MyCallbackFunction.

    Ukázkový kód pro funkci zpětného volání je v záhlaví následující Ukázkový kód. Projekt otestovat zkopírováním následující kód do funkce MyCallbackFunction.

    Ukázkový kód

    #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;
    }
    					
    Tato ukázka funkce zpětného volání při každém volání zobrazí okno zprávy s Tento text:
    **Callback** Return code is 0
    					
  5. Vytvoření souboru MyCallback.dll pomocí nabídky Sestavit. DLL je integrována a uložena podsložku s názvem ladění, ve stejném umístění zadaném v kroku 2.
  6. Po integrována DLL musíte zkopírovat DLL umístění závisí na verzi MSDE 2000 nainstalované v počítači.
    • Pokud používáte Microsoft SQL Server 2000 Desktop Engine SP2, musíte zkopírovat DLL umístění, které je definováno pomocí následujících proměnných prostředí:
      • % TMP %
      • % TEMP %.
      Získání prostředí hodnoty proměnných v určitém počítači aktuálně přihlášeného uživatele, zadejte na příkazovém řádku následující příkaz:
      SET
      Tento příkaz zobrazí všechny proměnné prostředí, včetně TEMP a TMP.
    • Pokud používáte Microsoft SQL Server 2000 Desktop Engine SP3a, musíte zkopírovat DLL do následujících umístění:
      • %TMP%\ {Product code}
      • %TEMP%\ {Product code}
      Poznámka:{Product code} je zástupný symbol pro kód produktu instance MSDE 2000 nainstalované v počítači.

      Například pokud má instance MSDE 2000 produktu kód E09B48B5-E141-427A-AB0C-D3605127224A, musíte zkopírovat DLL k % TMP%\{E09B48B5-E141-427A-AB0C-D3605127224A} nebo % TEMP%\{E09B48B5-E141-427A-AB0C-D3605127224A} složky.
  7. Pomocí možnosti zpětného volání Desktop Engine Instalační služba Windows Installer vyvolat funkci zpětného volání během instalace. Například:
    CALLBACK=Dllname!CallbackFunctionName
    například Tato syntaxe je:
    setup.exe /L*v c:\msde_setup.log CALLBACK=MyCallback!MyCallbackFunction
    					

Odkazy

Další informace získáte v následujícím článku znalostní báze Microsoft Knowledge Base:
299795Jak instalační balíčky Autor MSDE 2000 s instalační Visual Studio 1.1


Instalační služba Windows Installer SDK je součástí sady Microsoft Platform Software Development Kit (SDK). Další informace o Platform SDK na webu společnosti Microsoft:
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
SQL Server 2000 Books Online; témata: "Budovy SQL aplikace"; "Distribuce SQL aplikace"; "Distribuce SQL s aplikace"; "Desktop Engine Instalační služba Windows Installer vratky kódy"; "Desktop Engine Instalační služba Windows Installer Callback funkce"

Vlastnosti

ID článku: 315463 - Poslední aktualizace: 13. února 2014 - Revize: 3.0
Informace v tomto článku jsou určeny pro produkt:
  • Microsoft SQL Server 2000 Desktop Engine (MSDE) SP3a
  • Microsoft SQL Server 2000 Desktop Engine (Windows)
Klíčová slova: 
kbnosurvey kbarchive kbmt kbhowtomaster KB315463 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:315463

Dejte nám zpětnou vazbu

 

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