Bir SQL Server 2000 Desktop Engine'i geri çağırma işlevi ve örnek nasıl

Makale çevirileri Makale çevirileri
Makale numarası: 315463 - Bu makalenin geçerli olduğu ürünleri görün.
Bu makale arşivlenmiştir. "Olduğu gibi" sunulmaktadır ve bundan sonra güncelleştirilmeyecektir.
Hepsini aç | Hepsini kapa

Bu Sayfada

Özet

Bu makalede, SQL Server 2000 Desktop Engine (MSDE 2000) yüklenmesi sırasında bir geri çağırma işlevi nasıl açıklar ve ayrıca geri çağırma işlevi düzgün çalışıyor olduğundan emin olmak için yerine getirilmesi gereken tüm koşulları anlatılır.

SQL Server 2000 Desktop Engine (MSDE 2000), Microsoft SQL Server 2000'de ilişkisel veritabanı altyapısı'nın yeniden dağıtılabilir bir sürümdür. Bu altyapı uygulama kurulum işleminin bir parçası olarak yüklemek için SQL Server ilişkisel veritabanı altyapısını kullanan bir uygulama izin verir.

MSDE 2000 yükleme paketi izlemek veya Kurulum sırasında özel eylemler gerçekleştirmek için bir geri arama işlevini kullanmak için izin verir.

Geri arama işlevini kullanma koşulları

Normal olarak çalıştırmak geri arama işlevi için aşağıdaki koşullar karşılanmalıdır:
  • Geri arama işlevi, bir Windows ınstaller özel eylemi türü 1 dinamik bağlı kitaplığı (DLL gibi) uygulamalıdır. Örneğin, Microsoft Visual C++ genişletilmiş saklı yordamının Sihirbazı, geri arama DLL oluşturmak için kullanabilirsiniz.

    Windows ınstaller kitaplık türleri hakkında daha fazla bilgi için aşağıdaki Microsoft Developer Network (MSDN) Web sitesini ziyaret edin:
    http://msdn.microsoft.com/library/en-us/msi/cact_6a05.asp?frame=true
  • Geri arama işlevi, aşağıdaki klasörlerden birinde bulunması gerekir:
    • Döndürülen klasörü GetTempPath Win32 çağrısı tarafından.
    • Döndürülen klasöründe {Product code} klasörünü GetTempPath Win32 çağrısı tarafından.

      Not {Product code} MSDE 2000 örneğinin bilgisayarınızda yüklü olan ürün kodu için bir yer tutucudur.
    Genellikle, döndürülen klasörü tarafından GetTempPath Win32 % TMP % ortam değişkeni çağrıdır. % TMP % ortam değişkeni kullanılabilir durumda değilse, % TEMP %</a0> ortam değişkeni var.

    Win32 GetTempPath işlevi hakkında daha fazla bilgi için aşağıdaki Microsoft Developer Network (MSDN) Web sitesini ziyaret edin:
    http://msdn.microsoft.com/library/en-us/fileio/base/gettemppath.asp

  • Desktop Engine'i geri çağırma işlevi Desktop Engine'i çıkış kodunu da içeren ek bir UINT parametre veya dönüş kodu gerekir. Bir geri çağırma işlevi'nin tanımı için
    UINT __stdcall MyCallbackFunction(MSIHANDLE hinstall, UINT uExitCode)
    						
    burada uExitCode Desktop Engine'i Kur çıkış kodu ya dönüş kodu.

Örnek adımlar ve kod bir geri arama işlevi gerçekleştir

Aşağıdaki adımlar, Microsoft Visual Studio 6.0 kullanan örnek bir geri arama işlevi uygulaması açıklar.

  1. Microsoft Visual C++ 6.0 IDE, Dosya ' yı tıklatın ve sonra da Yeni'yi tıklatın. Projeler sekmesinde genişletilmiş saklı Proc Sihirbaz'ı tıklatın.
  2. Bir proje adı belirtin. Örneğin, MyCallback. Projeyi oluşturmak istediğiniz konumu da belirleyebilirsiniz. Tamam ' ı tıklatın.
  3. Geri arama işlevi için bir ad belirtin. Örneğin, MyCallbackFunction. Örnek bir geri arama DLL oluşturmak için genişletilmiş saklı Proc sihirbaz kullandığına dikkat edin. Sihirbaz, belirttiğiniz "İle XP_" başlayan bir ad önerir. Ancak, öneriyi göz ardı eder ve seçiminizi geri arama işlevi adını belirtin. Son ' u tıklatın.
  4. Bu, sınıflar ve gerekli cpp dosyaları oluşturur. Çalışma alanı</a0> bölmesinde çalışma alanı bu proje için bir randevu oldu?unu görecektir. ClassView seçin ve sonra MyCallback sınıfları ağacında Globals klasörünü genişletin. Orada MyCallbackFunction işlevin tanımını bir randevu oldu?unu görecektir.

    Geri arama işlevi için örnek kod, aşağıdaki Örnek kodu üstbilgisidir. MyCallbackFunction işlevi aşağıdaki kodunu kopyalayarak bu projeyi sınayabilirsiniz.

    Örnek kod

    #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;
    }
    					
    Bu geri arama işlevi örnek her çağrıda bu metni içeren bir ileti kutusu görüntüler:
    **Callback** Return code is 0
    					
  5. Oluştur menüsü kullanarak MyCallback.dll dosyası oluşturun. DLL, yerleşik ve hata ayıklama, 2 numaralı adımda belirttiğiniz konuma adlı bir alt klasörüne kaydedilir.
  6. DLL sonra DLL sürümü bilgisayarınızda yüklü olan MSDE 2000 bağlı bir konuma kopyalamanız gerekir.
    • Microsoft SQL Server 2000 Desktop Engine SP2 kullanıyorsanız, aşağıdaki ortam değişkenlerini biri tarafından tanımlanan konuma DLL kopyalamalısınız:
      • % TMP %
      • % TEMP %.
      Değişken değerlerinin belirli bir bilgisayarda şu anda oturum açmış kullanıcı ortamı almak için <a0></a0>, komut isteminde aşağıdaki komutu yazın:
      SET
      Bu komut, TMP ve TEMP gibi tüm ortam değişkenlerini içerir, görüntüler.
    • Microsoft SQL Server 2000 Desktop Engine SP3a kullanıyorsanız, aşağıdaki konumlardan birine DLL kopyalamalısınız:
      • %TMP%\ {Product code}
      • %TEMP%\ {Product code}
      Not{Product code} MSDE 2000 örneğinin bilgisayarınızda yüklü olan ürün kodu için bir yer tutucudur.

      MSDE 2000 örneğinizle E09B48B5-E141-427A-AB0C-D3605127224A, bir ürün kodu, örneğin, DLL'kopyalamalısınız % TMP%\{E09B48B5-E141-427A-AB0C-D3605127224A} veya % TEMP%\{E09B48B5-E141-427A-AB0C-D3605127224A} klasör.
  7. Kurulum sırasında geri arama işlevini çağırmak için Desktop Engine'i Windows ınstaller CALLBACK seçeneğini kullanın. Örneğin:
    CALLBACK=Dllname!CallbackFunctionName
    bu örneğin, sözdizimi şöyledir:
    setup.exe /L*v c:\msde_setup.log CALLBACK=MyCallback!MyCallbackFunction
    					

Referanslar

Ek bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
299795Microsoft Visual Studio Installer 1.1 ile MSDE 2000 kurulum paketleri nasıl hazırlanır (Bu bağlantı, bir kısmı veya tamamı İngilizce olan içeriğe işaret edebilir.)


Windows ınstaller SDK, Microsoft Platform Software Development Kit'e (SDK) parçasıdır. Platform SDK hakkında daha fazla bilgi için aşağıdaki Microsoft Web sitesini ziyaret edin:
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
SQL Server 2000 çevrimiçi kitapları; konuları: "SQL Server Uygulamalar?n?n Kurulmas?"; "SQL sunucu uygulamaları dağıtma"; "SQL sunucu uygulamaları ile dağıtma", "Desktop Engine'i Windows ınstaller yanıt kodları"; "Desktop Engine'i Windows ınstaller geri arama işlevleri"

Özellikler

Makale numarası: 315463 - Last Review: 29 Ocak 2014 Çarşamba - Gözden geçirme: 3.0
Bu makaledeki bilginin uygulandığı durum:
  • Microsoft SQL Server 2000 Desktop Engine (MSDE) SP3a
  • Microsoft SQL Server 2000 Desktop Engine (Windows)
Anahtar Kelimeler: 
kbnosurvey kbarchive kbmt kbhowtomaster KB315463 KbMttr
Machine-translated Article
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:315463

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