Windows Installer En İyi Yöntemleri
Bu bölümde Uygulama Geliştiricilerinin, Kurulum Yazarlarının, BT Uzmanlarının ve Altyapı Geliştiricilerinin Windows Installer'ı kullanmaya yönelik en iyi yöntemleri bulmasına yardımcı olmak için ana Windows Installer SDK belgelerine bağlı bir ipucu listesi listelenir:
- Windows Installer sürümünü güncelleştirin.
- Windows Logo sertifikası gereksinimlerini karşılayın.
- Paketi yerelleştirme için hazırlayın.
- Windows Installer geliştirme araçlarınızı ve belgelerinizi güncelleştirin.
- Eski bir kurulum uygulamasını yeniden paketlemeye karar verirseniz, iyi yeniden paketleme uygulamalarını izleyin.
- Korumalı kaynakları değiştirmeyi denemeyin.
- Kritik olmayan kaynaklara bağımlı değildir.
- Windows Installer yapılandırma bilgilerini almak için API'yi kullanın.
- Uygulamanızın bileşenlerinin etrafında yüklenmesini düzenleyin.
- Büyük Windows Installer paketlerinin boyutunu küçültün.
- Özel eylemler kullanıyorsanız, iyi özel eylem uygulamalarını izleyin.
- Derlemeler kullanıyorsanız, iyi derleme yöntemlerini izleyin
- Eşzamanlı yüklemeleri göndermeyin.
- Paket adlarını ve paket kodlarını tutarlı tutun.
- SelfReg ve TypeLib tablolarını kullanmayın.
- Kullanıcı arabirimi olmadan yükleme seçeneğini belirtin.
- AlwaysInstallElevated ilkesini kullanmaktan kaçının.
- Yetkisiz yüklemeyi sınırlamak için DisableMedia ilkesini etkinleştirin.
- Özgün paket kaynak dosyalarını güvenli ve kullanıcılara açık tutun.
- Dağıtım sorunlarını giderirken kullanıcının bilgisayarında ayrıntılı günlük kaydını etkinleştirin.
- Kaldırma, kullanıcının bilgisayarını temiz durumda bırakır.
- hem kullanıcı başına hem de makine başına yükleme dağıtımı için test paketlerini .
- uygulamayı göndermeden önce bir hizmet stratejisi planlayın ve test edin .
- Güncelleştirmelerin özgün kaynaklara bağımlılığını azaltın.
- Hizmet dışı birleştirme modüllerini dağıtma.
- Yönetim yüklemelerine güncelleme uygulamaktan kaçının.
- Güncelleştirmeleri yükseltilmiş ayrıcalıkla çalışacak şekilde kaydedin.
- Düzeltme eklerini sıralamak için MsiPatchSequence Tablosunu kullanın.
- Yükleme paketini kapsamlı bir şekilde test edin.
- Yeni veya düzeltilmiş bir yükleme paketini dağıtmadan önce tüm doğrulama hatalarını düzeltin.
- Güvenli bir yükleme yazın.
- HANDLE yerine PMSIHANDLE kullanma
Windows Installer sürümünü güncelleştirin.
- Windows Server 2008 R2 ve Windows 7'de Windows Installer 5.0'ı kullanın. Bu, işletim sistemiyle sağlanan Windows Installer sürümüdür.
- Windows Server 2008, Windows Server 2003 Service Pack 1 (SP1), Windows Vista Service Pack 1 (SP1) veya Windows XP Service Pack 2 (SP2) üzerinde Windows Installer 4.5 kullanın. En son Windows Installer sürümünü edinme hakkında bilgi için bkz. Windows Installer Yeniden Dağıtılabilir Dosyaları.
- Windows 2000 Service Pack 3 (SP3) ile Windows Installer 3.1'i kullanın. Windows Installer sürüm 3.1, daha iyi uygulama bakımı vedüzeltme eki uygulamayı kolaylaştıran özelliklere sahiptir.
- Birçok önemli özellik sürüm 3.0 ile kullanıma sunulmuştur ve Windows Installer Sürüm 2.0'da Desteklenmiyorbölümünde listelenmiştir. Windows Installer 2.0 için oluşturulan yükleme paketleri ve güncelleştirmeleri Windows Installer 3.0 ve üzeri kullanılarak yüklenebilir. Windows Installer 3.0 tarafından kullanılan yeni tabloları içeren düzeltme eki paketleri, Windows Installer'ın önceki sürümleri kullanılarak ancak Windows Installer 3.0 düzeltme eki uygulama işlevi olmadan da uygulanabilir. Windows Installer'ın önceki sürümleri tarafından uygulanamayan Windows Installer 3.0'ı açıkça gerektiren düzeltme ekleri yazmak da mümkündür. Kullanıcı yükleyici sürümünü güncelleştiremezse, uygulamanızın veya güncelleştirmenizin Windows Installer'ın gelecekteki bir güncelleştirmesi ile uyumlu olduğundan emin olun.
- Windows installer'ın önceki sürümleri tarafından desteklenmeyen Windows Installer özelliklerinin listesi için bkz. Windows Installer'daki Yenilikler.
Windows Logosu sertifika gereksinimlerini karşılayın.
- Uygulamanızı logo programına göndermeyi amaçlamasanız bile, logo sertifikasyon yönergelerini takip etmek Windows Installer paketinizi daha iyi hale getirmenize yardımcı olabilir. Logo gereksinimlerine genel bakış ve belirli logo sertifikasyon programlarına yönelik bağlantılar için bkz. Windows Installer ve Logo Gereksinimleri.
Paketi yerelleştirme için hazırlayın.
- Özgün yükleme paketini yazarken gelecekteki yerelleştirmeye hazırlanmak iyi bir uygulamadır. Windows Installer Paketini Yerelleştirme içinde önerilen paket yerelleştirme yordamını izleyebilirsiniz.
Windows Installer geliştirme araçlarınızı ve belgelerinizi güncelleştirin.
- Windows Installer Geliştirme Araçları yeniden dağıtılamaz ve bu araçların yalnızca Microsoft tarafından sağlanan sürümlerini kullanmanız gerekir. Bunlar, Microsoft Windows Yazılım Geliştirme Seti'ndeki (SDK) Windows Installer Geliştiricileri için Windows SDK Bileşenleri'nde kullanılabilir.
- Çeşitli bağımsız yazılım satıcıları, Windows Installer paketlerini oluşturmak veya değiştirmek için araçlar sunar. Bu araçlar, Windows Installer SDK'sında sağlanan araçlardan daha kolay kullanılabilen bir paket yazma ortamı sağlayabilir. Bu araçlar hakkında daha fazla bilgi edinmek için Diğer Windows Installer Bilgi Kaynaklarımakalesinde açıklanan bilgi kaynaklarından öğrenebilirsiniz.
- Metin dosyalarından paket oluşturma özelliği bazı geliştiriciler için daha sezgisel olabilir. Sourceforge.net üzerinde kullanılabilen Windows Installer XML (WiX) araç takımı, XML kaynak kodundan Windows yükleme paketleri oluşturur.
- Windows Installer SDK belgeleri en sık güncelleştirilir.
- Windows Vista veya üzeri için Windows Installer Geliştiricileri için Windows SDK Bileşenleri 'nde bulunan son Msizap.exe sürümünü (sürüm 3.1.4000.2726 veya üzeri) kullanın. Msizap.exe'ın daha küçük sürümleri, kullanıcının bilgisayarındaki diğer uygulamalara uygulanmış olan tüm güncelleştirmeler hakkındaki bilgileri kaldırabilir. Bu bilgiler kaldırılırsa, ek güncelleştirmeleri almak için bu diğer uygulamaların kaldırılması ve yeniden yüklenmesi gerekebilir.
- Veritabanı tablo düzenleyicisi Orca.exe, Windows Installer paketleri ve birleştirme modülleri oluşturmaya ve düzenlemeye yönelik bir veritabanı tablosu düzenleyicisidir. Temel bir GUI arabirimine sahiptir, ancak Windows Installer veritabanlarının gelişmiş düzenlemesini destekler. Birincil geliştirme aracınız olarak başka bir uygulama kullanıyor olsanız bile, bir paketin sorunlarını giderirken ve test ederken Orca.exe kullanmanın kullanışlı olduğunu fark edebilirsiniz.
- Güncel Windows Installer bilgileri için bloglarda, teknik sohbetlerde, haber gruplarında, teknik makalelerde ve web sitelerinde mevcut bilgileri görmek amacıyla, Windows Installer Bilgileri İçin Diğer Kaynaklar sayfasına bakın.
Eski bir kurulum uygulamasını yeniden paketlemeye karar verirseniz, iyi yeniden paketleme uygulamalarını izleyin.
Birçok uygulama satıcısı, yükleme veya ürünleri için yerel Windows Installer paketleri sağlar. Mevcut eski kurulum uygulamasını Windows Installer paketine dönüştüren yazılım, yeniden paketleme aracı olarak adlandırılır. Mevcut kurulum uygulamasını yeniden paketlemek en iyi geliştirme uygulaması değildir. Başlangıçtan itibaren Windows Installer özelliklerinden yararlanmak üzere tasarlanmış uygulamalar, kullanıcıların yüklemesi ve hizmeti için daha kolay olabilir. Yeniden paketleme yazılımı kullanmaya karar verirseniz, aşağıdaki uygulamalar daha iyi bir Windows Installer paketi oluşturmanıza yardımcı olabilir.
- Yeniden paketleme araçları, yükleme öncesi ve sonrası bir hazırlama sisteminin resmini çekerek eski yüklemeleri bir Windows Installer paketine dönüştürür. Yakalama işlemi sırasında gerçekleşen tüm kayıt defteri değişiklikleri, dosya değişiklikleri veya sistem ayarları yüklemeye dahil edilir. Yüklemeyi istenen kullanıcının sistemine mümkün olduğunca yakın bir şekilde yeniden paketlemek için kullanılan bilgisayarın donanımını ve yazılımını yapılandırın. Her farklı donanım yapılandırması için ayrı bir paket oluşturun. Temiz bir hazırlama bilgisayarı kullanarak yeniden paketleme. Gereksiz uygulamaları kaldırın. Tüm gereksiz işlemleri durdurun. Gerekli olmayan tüm sistem hizmetlerini kapatın.
- Üzerinde çalışmaya başlamadan önce her zaman özgün yüklemenin bir kopyasını yapın. Her zaman kopya üzerinde çalışın. Paketin oluşturulmasını tamamlamadan önce bir repackager'ı asla durdurmayın. Eğer yeniden paketleyici pakete zarar verirse, orijinal paketi yine de elinizde bulunduracaksınız.
- Microsoft yazılım güncelleştirmelerini bir Windows Installer paketine yeniden paketlemeyin. Microsoft, hizmet paketleri gibi yazılım güncelleştirmelerini, yüklemeyi otomatik olarak çalıştıran kendi kendine ayıklanan dosyalar olarak yayınlar. Bu güncelleştirmeler, korumalı Windows kaynaklarını değiştirmek için Windows Installer'dan farklı yükleyiciler kullanır ve bir Windows Installer paketine dönüştürülemez. Windows hizmet paketlerini dağıtma hakkında bilgi için microsoft technet hizmet paketinin dağıtım kılavuzuna bakın.
- Windows Installer paketini yeni bir pakete dönüştürmek için yeniden paketleme aracı kullanmayın. Windows Installer, yapılandırma bilgilerini sisteme ve uygulama kaynaklarına ekler. Yeniden paketleme aracı, yüklemeden önceki ve sonraki sistemi karşılaştırdığında, yeniden paketleyici yapılandırma bilgilerini uygulamanın bir parçası olarak yanlış yorumlar. Bu genellikle yeniden paketlenmiş uygulamaya zarar verir. Bunun yerine, var olan bir Windows Installer paketini değiştirmek veya yeni bir paket oluşturmak için özelleştirme dönüşümlerini kullanın. Msitran.exe aracını kullanarak özelleştirme dönüşümleri oluşturabilirsiniz.
- Birkaç Windows Installer paketini tek bir pakette birleştirmek için yeniden paketleme aracı kullanmayın. Bunun yerine Msistuff.exe aracını kullanarak paketleri birbiri ardına yükleyecek şekilde Setup.exe bootstrap yürütülebilir dosyasını yapılandırabilirsiniz.
- Müşteri tarafından kolayca özelleştirilebilmesi için Windows Installer paketinizi yapın. Yükleme sırasında Windows Installer tarafından kullanılan genel değişkenler, genel özellikleri veya özelleştirme dönüştürmeleri kullanılarak ayarlanabilir. Bu özelliklerin kullanımına yönelik belgeler ve tüm özelleştirilebilir değerler için pratik varsayılan değerler sağlayın. Özellikleri alma ve ayarlama hakkında bilgi için bkz. Özellikleri Kullanma. Özelleştirme dönüşümü örneği için bkz. Özelleştirme Dönüşümü Örneği.
Korumalı kaynakları değiştirmeyi denemeyin.
Windows Installer paketleri, yükleme veya güncelleştirme sırasında korumalı kaynakları değiştirmeyi denememelidir. Windows temel sistem dosyalarının, klasörlerin ve kayıt defteri anahtarlarının değiştirilmesini engellediğinden Windows Installer bu kaynakları kaldırmaz veya değiştirmez. Bu kaynakların korunması uygulama ve işletim sistemi hatalarını önler.
- Windows Server 2008 veya Windows Vista'da çalışırken, Windows Installer Windows Resource Protection (WRP) tarafından korunan herhangi bir dosya veya kayıt defteri anahtarının yüklenmesini atlar, yükleyici günlük dosyasına bir uyarı girer ve yüklemenin geri kalanında hata olmadan devam eder. Bilgi için bkz. Windows Installer ve Windows Resource Protection kullanma.
- WRP, Windows Dosya Koruması'nın (WFP) yeni adıdır. WRP, kayıt defteri anahtarlarını ve klasörlerinin yanı sıra temel sistem dosyalarını korur. Windows Server 2003, Windows XP ve Windows 2000'de, Windows Installer WFP korumalı bir dosyayla karşılaştığında, yükleyici WFP'nin dosyayı yüklemesini ister. Bilgi için bkz. Windows Installer ve Windows Resource Protection kullanma.
Kritik olmayan kaynaklara bağımlı değildir.
Yüklemeniz veya güncelleştirmeniz, aşağıdaki nedenlerle kritik olmayan kaynakların yüklenmesine bağlı olmamalıdır.
- Özel eylemler, kullanıcının yükleme yerine tanıttığını bir özelliğe ait bir bileşene bağımlıysa başarısız olabilir.
- InstallFinalize eyleminden önce sıralanan özel eylemler, yüklenen derlemeyi içeren bir bileşene bağımlıysa başarısız olabilir. Windows Installer, InstallFinalize eylemi tamamlanana kadar derlemeleri Genel Derleme Önbelleği'ne (GAC) işlemez.
Windows Installer yapılandırma bilgilerini almak için API'yi kullanın.
Uygulamanızın veya güncelleştirmenizin yüklenmesi, bilgisayarınıza kaydedilen Windows Installer yapılandırma bilgilerine doğrudan erişime bağlı olmamalıdır. Bunun yerine, yapılandırma bilgilerini almak için Windows Installer uygulama programlama arabirimini kullanın. Yapılandırma bilgilerinin konumu ve biçimi Windows Installer hizmeti tarafından yönetilir ve değişebilir.
- Windows Installer API'sinin Yükleme ve Yapılandırma İşlevleri, Installer İşlev Başvurusuaçıklanmıştır.
- Yapılandırma Özellikleri Özellik Başvurusu'nda açıklanmıştır.
- Otomasyon yöntemleri ve özellikleri, Otomasyon Arabirimi Referansı'de açıklanmıştır. WiLstPrd.vbs örnek betiği bir Installer nesnesine bağlanır ve kayıtlı ürünleri ve ürün bilgilerini numaralandırır. Daha fazla bilgi için bkz. Ürünleri, Özellikleri, Nitelikleri ve Bileşenleri Listele.
Uygulamanızın bileşenlerinin etrafında yüklenmesini düzenleyin.
Windows Installer hizmeti, bileşenleri olarak adlandırılan kaynak koleksiyonlarını yükler veya kaldırır. Bileşenler yaygın olarak paylaşıldığından, bir yükleme paketinin yazarı bir özelliğin veya uygulamanın bileşenlerini belirtirken kurallara uymalıdır.
- Yeni bileşenlerin veya bileşenlerin yeni sürümlerinin diğer uygulamalara zarar vermeden yüklenebilmesini ve kaldırılabilmesini sağlamak için Uygulamaları Bileşenler halinde Düzenleme bileşen kurallarına uyun. Yükleyici Bileşenlerini Tanımlamabölümünde açıklanan yordamı izleyebilirsiniz.
- Yükleyici, her bileşeni Bileşeni tablosunda belirtilen ilgili bileşen kimliği GUID'sine göre izler. Windows Installer başvuru sayma mekanizmasının çalışması için bileşen kimliği GUID'sinin doğru olması önemlidir. Bileşen Kodunu Değiştirmeyönergelerini izleyin.
- Paketinizin bileşen kurallarını bozması gerekiyorsa olası sonuçların farkında olun ve yüklemenizin bu bileşenleri kullanıcının sistemindeki bileşenlere zarar verebileceği bir yere asla yüklemediğinden emin olun. Daha fazla bilgi için bkz. Bileşen kuralları bozulursa ne olur?.
- Windows Installer'ın Dosya Sürüm Oluşturma KurallarıVarolan Dosyaları Değiştirmenasıl uyguladığını unutmayın. Windows Installer, bileşenin dosyalarından herhangi birini yüklemeye çalışmadan önce bileşenin anahtar dosyasının zaten yüklü olup olmadığını belirler. Yükleyici hedef konumda yüklü olan bileşenin anahtar dosyasıyla aynı ada sahip bir dosya bulursa, iki anahtar dosyasının sürümünü, tarihini ve dilini karşılaştırır ve paket tarafından sağlanan bileşenin yüklenip yüklenmeyeceğini belirlemek için dosya sürüm oluşturma kurallarını kullanır. Yükleyici, anahtar dosyasının üzerindeki bileşen tabanını değiştirmesi gerektiğini belirlerse, dosyanın değiştirilip değiştirilmeyeceğini belirlemek için yüklenen her dosyada dosya sürüm oluşturma kurallarını kullanır.
Büyük Windows Installer paketlerinin boyutunu küçültün.
Çok büyük Windows Paketleri sistem kaynaklarını alır ve kullanıcıların yüklemesi zor olabilir. Aşağıdaki yöntemlerle çok büyük Windows Installer Paketlerinin boyutunu küçültmek iyi bir uygulamadır.
- Yüklemedeki dosyaları sıkıştırın ve bir dolap (.cab) dosyasında depolayın. Yükleyici, .cab dosyasının ayrı bir dış dosya olarak veya MSI paketinin kendisinde bir veri akışı olarak depolanmasına izin verir. Daha fazla bilgi için bkz. Dolapları ve Sıkıştırılmış Kaynakları Kullanma.
- .msi DosyaBoyutunu Küçültme bölümünde açıklanan seçeneklerden birini kullanarak .msi dosyasındaki boşa harcanan depolama alanını kaldırın.
- Windows Installer paketiniz 32767'den fazla dosya içeriyorsa, veritabanının şemasını değiştirmeniz gerekir. Daha fazla bilgi için bkz. Büyük Paket Yazma.
Özel eylemler kullanıyorsanız, iyi özel eylem uygulamalarını izleyin.
Windows Installer,uygulamaların yüklenmesi ve bakımı için birçok yerleşik standart eyleme sahiptir. Geliştiriciler, kendi özel eylemlerini oluşturmak yerine olabildiğincestandart eylemlere güvenmelidir. Ancak, bir yükleme paketinin geliştiricisinin özel bir eylem yazmak için gerekli olduğunu bulduğu durumlar vardır.
- Özel Eylemleri Kullanmayönergelerini izleyin.
- Özel Eylemlerin Güvenliğini Sağlamaya yönelikYönergelerini izleyin. Hassas bilgiler kullanan özel eylemler bu bilgileri günlüğe yazmamalıdır. Daha fazla bilgi için bkz. Özel Eylem Güvenliği.
- Özel Eylemler, özel bir eylemin içinden Sistem Geri Yükleme giriş noktası ayarlamaya çalışmamalıdır. Bilgi için bkz. Özel Eylemile bir geri yükleme noktası ayarlama.
- Özel eylemlerden hata iletileri döndürerek özel eylemlerin sorunlarını gidermeyi kolaylaştırmak için bunları günlüğe yazın. Bilgi için bkz. Hata Mesajı Özel Eylemler ve Özel Eylemlerden Hata Mesajlarını Geri Döndürme.
- Özel bir eylemi gerçekleştirdiğinizde sistem durumunu hemen değiştirmeyin. Sistemi doğrudan değiştiren veya başka bir sistem hizmetini çağıran özel eylemler, yükleme betiğinin yürütüleceği zamana ertelenmelidir. Sistem durumunu değiştiren her ertelenen yürütme özel eylemi, yükleme geri alma işleminde sistem durumu değişikliğini geri almak için geri alma özel eylemi olmalıdır. Bilgi için bkz. Özel Eylem Kullanarak Sistem Durumunu Değiştirme.
- Karmaşık yükleme işlemlerini gerçekleştiren özel eylemler, bir yürütülebilir dosya veya bir dinamik bağlantı kitaplığıolmalıdır. Özel eylemlerin kullanımını betikler temelinde basit yükleme işlemleriyle sınırlayın.
- Özel eyleminizin sisteme ne yaptığının ayrıntılarını sistem yöneticileri tarafından kolayca bulunabilir hale getirin. Özel eyleminiz tarafından kullanılan kayıt defteri girdilerinin ve dosyalarının ayrıntılarını özel bir tabloya yerleştirin ve özel eylemin bu tablodan okunmasını sağlayın. Bu, Yerel Bilgisayarda Kullanıcı Hesapları Oluşturmak için Özel Eylem Kullanmaörneği tarafından gösterilmiştir. Veritabanına özel tablolar ekleme hakkında bilgi için bkz. Sorgularla Çalışma ve sql ve betik kullanarak veritabanı sorguları örnekleri.
- Özel eylemler iletişim kutusu görüntülememelidir. Kullanıcı arabirimi gerektiren özel eylemler bunun yerine MsiProcessMessage işlevini kullanabilir. Bkz. MsiProcessMessageKullanarak Windows Installer'a İleti Gönderme.
- Özel eylemler, sayfada listelenen işlevlerin hiçbirini kullanmamalıdır: Özel Eylemlerde Kullanılmayan İşlevler.
- Yüklemenin bir terminal sunucusunda çalışması amaçlanıyorsa, tüm özel eylemlerinizin terminal sunucusunda çalıştırılıp çalıştırılamadığını test edin. Daha fazla bilgi için bkz. TerminalServer özelliği.
- Belirli bir düzeltme eki kaldırıldığında özel eylemin çalıştırılması için özel eylemin özgün uygulamada mevcut olması veya her zaman uygulanan ürün için bir düzeltme eki içinde olması gerekir. Daha fazla bilgi için bkz. Düzeltme Eki Kaldırma Özel Eylemler.
- Özel eylemler, hata iletilerini yükleyiciye göndermek için kullanıcı arabirimi seviyesini bir koşul olarak kullanmamalıdır, çünkü bu, günlüğe kaydetmeyi ve dış iletileri etkileyebilir. Bilgi için bkz. Özel Eylem'den Kullanıcı Arabirimi Düzeyini Belirleme.
- Paketinizin özel eylemleri doğru şekilde çalıştırdığından, özel eylemler çalıştırmadığından veya paket kaldırıldığında alternatif özel eylem çalıştırdığından emin olmak için koşullu deyimleri ve Koşullu Deyim Sözdizimi kullanın. Paketteki özel eylemleri kaldırırken, paketin beklendiği gibi çalışıp çalışmadığını test edin. Daha fazla bilgi için bkz. Kaldırma sırasında çalıştırılacak koşullandırma eylemleri
- Yüklemenin yönetici ayrıcalıklarına sahip olmayan kullanıcılar tarafından çalıştırılabilmesi gerekiyorsa, tüm özel eylemlerin yönetici olmayan ayrıcalıklarla çalıştırıldığından emin olmak için test edin. Özel eylemler, sistemin kullanıcıya özgü olmayan bölümlerini değiştirmek için yükseltilmiş ayrıcalıklar gerektirir. Yönetilen bir uygulama yüklüyse veya sistem ilkesi yükseltilmiş ayrıcalıklar için belirtilmişse, yükleyici yükseltilmiş ayrıcalıklarla özel eylemler çalıştırabilir. Yükseltilmiş ayrıcalıklar gerektiren tüm özel eylemler, özel eylem türünde msidbCustomActionTypeInScript ve msidbCustomActionTypeNoImpersonate Özel Eylem In-Script Yürütme Seçenekleri içermelidir. Bu, Yerel Bilgisayarda Kullanıcı Hesapları Oluşturmak için Özel Eylem Kullanmaörneği tarafından gösterilmiştir.
Derlemeler kullanıyorsanız iyi derleme uygulamalarını uygulayın
Paketiniz yazılım derlemelerikullanıyorsa, Pakete Derleme Ekleme, Derlemeleri Güncellemeve Derlemeleri Yükleme ve Kaldırmayönergelerini izleyin.
Eşzamanlı yüklemeleri göndermeyin.
Eşzamanlı Yüklemeler, aynı zamanda İç İçe Yüklemeler olarak da adlandırılır, devam eden bir yükleme sırasında başka bir Windows Yükleyici paketi yükler. Eşzamanlı yüklemelerin kullanılması iyi bir uygulama değildir çünkü bunların bakımı müşteriler için zordur. Düzeltme eki uygulama ve yükseltme, aynı anda yapılan yüklemelerle çalışmayabilir. Eşzamanlı yüklemeleri kullanmanın önerilen alternatifi, birkaç Windows Installer paketini sırayla yüklemek için bir kurulum uygulaması ve dış KULLANıCı arabirimi işleyicisi kullanmaktır.
Dış kullanıcı arabirimi işleyicisi kullanma hakkında daha fazla bilgi için bkz. MsiSetExternalUI Kullanarak Yükleme İzleme. Kayıt tabanlı dış işleyici kullanma hakkında daha fazla bilgi için bkz. MsiSetExternalUIRecord Kullanarak Yükleme İzleme.
Eşzamanlı yüklemeler bazen denetimli şirket ortamlarında genel kullanıma yönelik olmayan uygulamaları yüklemek için kullanılır. Eşzamanlı yüklemeleri kullanmaya karar verirseniz bu yönergeleri izleyin.
- Bir sevkiyat ürününü yüklemek veya güncelleştirmek için eşzamanlı yüklemeleri kullanmayın.
- Eşzamanlı yüklemeler bileşenleri paylaşmamalıdır.
- Yönetim yüklemesi eşzamanlı yükleme içermemelidir.
- Tümleşik ProgressBar'lar eşzamanlı yüklemelerle kullanılmamalıdır.
- Tanıtılacak kaynaklar eşzamanlı yükleme tarafından yüklenmemelidir.
- Bir uygulamanın eş zamanlı yüklemesini gerçekleştiren bir paket, üst ürün kaldırıldığında eşzamanlı uygulamayı da kaldırmalıdır. Denetim Masası'ndaki Program Ekle/Kaldır'da ana ürün bağlamında yer alan bir gömülü yükleme vardır.
Paket adlarını ve paket kodlarını tutarlı tutun.
.msi dosyasına, kullanıcıların paketi tanımlamasını sağlayan herhangi bir ad verilebilir, ancak ürün kodu değiştirilmeden adın değiştirilmemesi gerekir.
- .msi dosyanıza, kullanıcının Windows Installer paketinin içeriğini tanımlamasını sağlayan kolay bir ad verin.
- ürün kodu bir uygulamanın asıl kimliğidir ve uygulamada kapsamlı bir güncelleştirme olduğunda değişmesi gerekir. Daha fazla bilgi için bkz. ProductCode ve Ürün KoduDeğiştirme. Uygulamanın .msi dosyasının adını değiştirmek kapsamlı bir değişiklik olarak kabul edilir ve tutarlılığı korumak için her zaman ilgili ürün kodu değişikliğini gerektirir.
- paket kodu, yükleyici tarafından belirli bir yükleme için doğru paketi aramak ve doğrulamak için kullanılan birincil tanımlayıcıdır. Hiçbir iki nonidentical .msi dosyası aynı paket koduna sahip olmamalıdır. Paket kodu değiştirilmeden bir paket değiştirilirse, her ikisi de yükleyici tarafından erişilebilir durumdaysa yükleyici daha yeni paketi kullanmayabilir. Paket kodu, Düzeltme Numarası Özeti Özelliği, Özet Bilgi Akışı'te depolanır.
- Ürün kodu ve paket kodu GUID harflerin tümünün büyük harf olması gerektiğini unutmayın.
SelfReg ve TypeLib tablolarını kullanmayın.
- Yükleme paketi yazarlarının self kayıt ve SelfReg tablosunu kullanmamaları kesinlikle önerilir. Bunun yerine, Kayıt Defteri Tabloları Grubu'ndaki bir veya daha fazla tabloyuyazarak modülleri kaydetmeleri gerekir. Kendi kendine kayıt yordamları kritik yapılandırma bilgilerini gizleme eğiliminde olduğundan, Windows Installer'ın avantajlarının çoğu kendi kendine kayıt ile kaybolur. Self kayıttan kaçınma nedenlerinin listesi için bkz. SelfReg tablosu.
- Yükleme paketi yazarlarının TypeLib tablosunu kullanmamaları önemle tavsiye edilir. TypeLib tablosunu kullanmak yerine, Kayıt Defteri tablosunu kullanarak tür kitaplıklarını kaydedin. TypeLib tablosunu kullanan bir yükleme başarısız olursa ve geri alınması gerekiyorsa, geri alma işlemi bilgisayarı geri alma işleminden önce var olan aynı duruma geri yüklemeyebilir.
Kullanıcı arabirimi olmadan yükleme seçeneğini belirtin.
Yöneticiler genellikle kullanıcı etkileşimi gerektirmeden bir şirket içinde uygulama dağıtmayı tercih eder. Uygulamanızın Hiçbiri'nin kullanıcı arabirimi düzeyi yükleme seçeneği sunmasını sağlamak iyi bir uygulamadır.
- Yapılandırma bilgileri için genel özellikleri kullanın. Yöneticiler bu bilgileri komut satırında sağlayabilir.
- Yüklemenin, iletişim kutularıyla kullanıcı etkileşiminden toplanan bilgilere bağlı olmasını gerektirmez. Bu bilgiler sessiz yükleme sırasında kullanılamaz.
- Sessiz yükleme sırasında kullanıcının bilgisayarını otomatik olarak yeniden başlatmayın.
- Yöneticiler, komut satırı seçeneği "/q" kullanarak yükleme sırasında kullanıcı arabirimi düzeyi ayarlayabilir. Kullanıcı arabirimi düzeyi, MsiSetInternalUIçağrısıyla program aracılığıyla da ayarlanabilir.
AlwaysInstallElevated ilkesini kullanmaktan kaçının.
AlwaysInstallElevated ilkesi ayarlanmamışsa, yönetici tarafından dağıtılmayan uygulamalar kullanıcının ayrıcalıkları kullanılarak yüklenir ve yalnızca yönetilen uygulamalar yükseltilmiş ayrıcalıklara sahip olur. Bu ilkenin ayarlanması, Windows Installer'ı uygulamayı sisteme yüklerken sistem izinlerini kullanmaya yönlendirir. Bu ilke ayarlandığında yönetici olmayan bir kullanıcı yükseltilmiş ayrıcalıklarıyla yüklemeleri çalıştırabildiğinden ve bilgisayardaki güvenli konumlara eriştiğinden, bu yöntem bir bilgisayarı güvenlik riskiyle açabilir. Yönetici Olmayan bir için Yükseltilmiş Ayrıcalıklarla Paket Yükleme veya Yönetilen Uygulamalar Per-User Düzeltme Eki Uygulama AlwaysInstallElevated ilkesinden başka bir yöntem kullanmak iyi bir uygulamadır.
Yetkisiz yüklemeyi sınırlamak için DisableMedia ilkesini etkinleştirin.
DisableMedia ilkesi, uygulamaların yetkisiz yüklenmesini engelleyebilir. Bu ilke etkinleştirildiğinde, bir ürünün bakım yüklemesini çalıştıran kullanıcıların ve yöneticilerin, diğer yüklenebilir ürünlerin kaynakları için CD-ROM gibi medya kaynaklarına göz atmak için Gözat İletişim Kutusunu kullanmaları engellenir. Yüklemenin yükseltilmiş ayrıcalıklarla yapılıp yapılmadığına bakılmaksızın diğer ürünlere göz atma engellenir. Kullanıcının doğru etiketlenmiş bir medya kaynağı varsa ürünü medyadan yeniden yüklemesi yine de mümkündür.
Özgün paket kaynak dosyalarını güvenli ve kullanıcılara açık tutun.
Bazı durumlarda, bir uygulamayı isteğe bağlı olarak yüklemek, onarmak veya güncelleştirmek için Windows Installer paketinin özgün kaynağı gerekebilir. Yükleyici kullanılabilir bir kaynağı bulamıyorsa, kullanıcıdan medya sağlaması veya gerekli kaynakları içeren bir ağ konumuna gitmesi istenir. Yükleyicinin kullanıcıya sormadan ihtiyaç duyduğu kaynaklara sahip olduğundan emin olmak iyi bir uygulamadır.
- Yükleyici tarafından kullanılan kaynakların güvenli olduğundan emin olmak için Dijital İmzaları ve Dış Kabin Dosyaları kullanın. Genel bir konumda depolanan sıkıştırılmamış kaynak görüntü güvenli değildir.
- SOURCELIST özelliğine uygulamanın yükleme paketinin ağ veya URL kaynak yollarının tam listesini ekleyin.
- Kaynak yol için Dağıtılmış Dosya Sistemi (DFS) paylaşımı kullanın.
- Windows Installer uygulamaları ve düzeltme ekleri için kaynak listesi bilgilerini almak ve değiştirmek için Windows Installer API'sini kullanın. Daha fazla bilgi için bkz. Yükleme Kaynaklarını Yönetme.
- Windows Installer uygulamaları ve düzeltme ekleri için kaynak liste bilgilerini almak ve değiştirmek için Installer Nesnesi, Ürün Nesnesive Düzeltme Eki Nesnesi yöntemlerini ve özelliklerini kullanın.
- düzeltme ekinizin özgün kaynaklara erişim gerektirme olasılığını en aza indirmek için Düzeltme Ekinin Özgün Yükleme Kaynağına Erişim Gerektirmesini Önleme noktalarında listelenen noktalara uyun.
- Paket kaynak dosyalarını sistemin geçici klasörü olmayan bir konumda depolayın. Geçici klasörde depolanan Windows Installer kaynak dosyaları kullanıcılar tarafından kullanılamaz duruma gelebilir.
Dağıtım sorunlarını giderirken kullanıcının bilgisayarında ayrıntılı günlük kaydını etkinleştirin.
Windows Installer Logging, kullanıcının bilgisayarında etkinleştirilebilen ayrıntılı bir günlük seçeneğini içerir. Ayrıntılı günlükteki bilgiler, Windows Installer paket dağıtımı sorunlarını gidermeye çalışırken yararlı olabilir.
- Kullanıcının bilgisayarında ayrıntılı günlük kaydını, Komut Satırı Seçenekleri, MsiLogging özelliği, Günlük kaydı ilkesi, MsiEnableLogve EnableLog yöntemini kullanarak etkinleştirebilirsiniz.
- Windows Installer günlük dosyalarını yorumlamak için çok yararlı bir kaynak Wilogutl.exe. Bu araç günlük dosyalarının analizine yardımcı olmakta ve günlük dosyasında bulunan hatalara yönelik önerilen çözümleri görüntüler.
- Ayrıntılı günlük seçeneği yalnızca sorun giderme amacıyla kullanılmalıdır ve sistem performansı ve disk alanı üzerinde olumsuz etkileri olabileceğinden açık bırakılmamalıdır. Denetim Masası'nda Program Ekle/Kaldır aracını her kullandığınızda yeni bir dosya oluşturulur.
Kaldırma işlemi kullanıcının bilgisayarını temiz durumda bırakır.
Uygulama kaldırma, yükleme kadar önemlidir. Bir Windows Installer paketi kaldırıldığında, kullanıcının bilgisayarında hiçbir işe yaramaz parçası bırakmamalıdır.
- Kaldırma işlemi çalıştırıldıktan sonra kullanıcının bilgisayarından kaldırılması gereken bir dosya yüklü olarak kalırsa, yükleyici, Stranded Fileskaldırma bölümünde açıklanan nedenlerden biri veya daha fazlası için dosyayı içeren bileşeni kaldırmıyor olabilir.
- Bir uygulamanın kaydedilmesi gerekiyorsa, uygulama kaldırıldığında kayıt defteri bilgilerini kaldırmak için paketi yazın. Bilgi için bkz. Kayıt Defteri Anahtarlarını Bileşenlerin Kurulumu veya Kaldırılması Üzerine Ekleme veya Çıkarma. Bir uygulama kayıtlı değilse, uygulama Denetim Masası'ndaki Program Ekle veya Kaldır özelliğinde listelenmez ve Windows Installer kullanılarak yönetilemez.
- Bir uygulamayı Denetim Masası'ndaki Program Ekle veya Kaldır özelliğinden gizlemek ve hala Windows Installer kullanarak uygulamayı yönetebilmek için, Kayıt Defteri'nde İz Bırakmadan Bir Uygulamayı Ekleme ve Kaldırma başlığında açıklanan ,yönergeleri izleyin.
- Özel eylemler, kaldırma işlemi sırasında gerektiğinde çalıştırılacak veya çalıştırılmayacak şekilde şarta bağlanmalıdır. Yükleme ve kaldırma işlemlerinde farklı özel eylemlerin çalıştırılması gerekebilir.
- Kullanıcıya özgü özelleştirme bilgileri bilgisayardaki bir metin dosyasında depolanabilir. Bu, bu özelleştirmenin kullanıcısı şu anda oturum açmamış olsa bile uygulama kaldırıldığında dosyanın kaldırılabilmesi avantajına sahiptir.
Hem kullanıcı başına hem de makine başına yükleme dağıtımı için paketleri test edin.
Müşterilerin yükleme için bir paketi makine başına veya kullanıcı başına yükleme bağlamıdağıtmaya karar vermelerini sağlamak iyi bir uygulamadır.
- Uygulamanın geliştirme işlemi sırasında yalnızca belirli kullanıcılara mı yoksa bilgisayarın tüm kullanıcılarına mı kullanılabilmesi gerektiğini düşünün.
- Paketin hem kullanıcı başına yükleme hem de makine başına yükleme bağlamları için doğru çalışıp çalışmadığını test edin.
- Paketi kolayca özelleştirilebilir hale getirin ve kullanıcıların bunu kullanıcı başına mı yoksa makine başına mı dağıtacaklarına karar vermelerine izin verin.
Uygulamayı göndermeden önce bir hizmet stratejisi planlayın ve test edin.
Uygulamayı ilk kez dağıtmadan önce uygulamaya nasıl hizmet vermeyi planladığınıza karar vermelisiniz.
- Gelecekte uygulamanıza hizmet vermek için kullanmayı beklediğiniz güncelleştirme türlerini göz önünde bulundurun. Windows Installer üç tür güncelleştirme sağlar: Küçük Güncelleştirme, Küçük Yükseltmeve Ana Yükseltmeleri. Bunlar arasındaki farklar Yama Uygulama ve Yükseltmeler konu başlığında açıklanmıştır.
- Uygulamanızı göndermeden önce, her güncelleştirme türüyle hizmet verdikten sonra beklendiği gibi çalışıp çalışmadığını test edin.
Güncelleştirmelerin özgün kaynaklara bağımlılığını azaltın.
Uygulamanızı güncelleştirmek için özgün kaynak dosyaları gerekiyorsa, bu uygulama bakımı daha zor hale gelebilir. Aşağıdaki yöntemler güncelleştirmelerin özgün kaynaklara bağımlılığını azaltmaya yardımcı olabilir.
- Uygulamanızın RTM sürümü ve hizmet paketi sürümleri gibi temel sürümlerini güncelleştirmek için delta düzeltme eki kullanın. Konuda açıklanan delta yaması kullanma yönergelerini izleyin: Yama Boyutunu Azaltma.
- Konu başlığında listelenen önerileri izleyin: Düzeltme Ekinin Özgün Yükleme Kaynağına Erişim Gerektirmesini Önleme.
Hizmet dışı birleştirme modüllerini dağıtmayın.
Birleştirme modülünün sahibi ve uygulamanın sahibi farklıysa, uygulamalar bileşenin yüklenmesi için birleştirme modüllerine bağımlı olmamalıdır. Bu, her iki sahibin de uygulamayı veya modülü güncelleştirmek için koordine olması gerektiğinden uygulamaya hizmet verme işlemini zorlaştırabilir. Birleştirme modülünü kullanan tüm uygulamaları bilmeden, uygulamanın sahibi güncelleştirmenin başka bir uygulamayla uyumsuz olma riski olmadan birleştirme modülünü güncelleştiremez. Birleştirme modülünün sahibinin, birleştirme modülünü zaten yüklemiş olan Windows Installer paketlerini güncelleştirmek için doğrudan bir yöntemi yoktur.
- Kullanıcılara gerekli bileşenleri başka bir Windows Installer yüklemesi olarak sağlamayı göz önünde bulundurun.
Yönetim yüklemelerine düzeltme eki uygulamaktan kaçının.
Bir çalışma grubunun üyelerinin uygulamayı yüklemesini sağlamak için uygulamanızın özgün Windows Installer paketinin ağa yönetim yüklemesini sağlayın. Bu yönetim görüntüsünün kullanıcıları daha sonra güncelleştirmeleri kendi bilgisayarlarında bulunan uygulamanın yerel örneğine uygulamalıdır. Bu, kullanıcıların yönetim görüntüsüyle eşitlenmesini sağlar. Yönetim yüklemesine güncelleştirmelerin uygulanması aşağıdaki nedenlerden dolayı önerilmez.
- Kullanıcıların bir güncelleştirmeyi edinmeleri için gereken indirmenin boyutu ve gecikme süresi, düzeltme eki indirmeye kıyasla artırılır. Güncelleştirilmiş Windows Installer paketinin ve kaynak dosyalarının tamamının indirilmesi, geri yüklenmesi ve yeniden yüklenmesi gerekir.
- Kullanıcılar, uygulamayı geri alıp yeniden yükleyene kadar güncelleştirilmiş bir yönetim yüklemesinden isteğe bağlı yükleme ve uygulamaları onaramaz.
- Yönetim yüklemesine düzeltme eki uygulanması, dijital imzayı paketten kaldırır. Yöneticinin paketten feragat etmesi gerekir. Dijital imzaları kullanma hakkında daha fazla bilgi için bkz. Dijital İmzalar ve Windows Installer.
- Birçok ikili düzeltme eki uygulamanın RTM görüntüsünü hedefler ve önceki bir dosya sürümü gerektirir. Güncelleştirilmiş bir yönetim yüklemesinden yüklenen bir uygulamanın yerel örneği diğer güncelleştirmelerle çalışmayabilir. Birçok ikili düzeltme eki uygulaması başarısız olabilir.
- Yönetim yüklemesine düzeltme eki uygulanması, kaynak dosyaları ve .msi dosyasını güncelleştirir, ancak ağ görüntüsünü güncelleştirmeye dair bilgilerle işaretlemez. Kullanıcılar, yönetim yüklemesinden hangi güncelleştirmeleri aldıklarını belirleyemez. Bu, yönetici imajı tarafında zaten uygulanmış olan güncellemelerle, kullanıcı tarafında uygulanan güncellemeleri sıralamayı imkansız hale getirir.
- Bir yönetim yüklemesine uygulanan düzeltme ekleri kaldırılabilirdüzeltme ekleri değildir. Bu, kullanıcının bilgisayarında önbelleğe alınan paket kodunun yönetim yüklemesinde paket kodundan farklı olmasını engelleyebilir. Kullanıcının bilgisayarında önbelleğe alınmış olan paket kodu, yönetim yüklemesindekinden farklı hale gelirse, uygulamayı yönetim yüklemesinden tekrar yükleyin ve ardından istemci bilgisayarı düzeltme eki ile güncelleyin.
- Yönetim görüntüsüne yama uygulayarak küçük güncellemeler yapmaya karar verirseniz, Yönetim Görüntüsüne Yama Uygulayarak Küçük Güncellemeler Yapmakonusunda açıklanan yönergeleri izleyin.
Yükseltilmiş ayrıcalıkla çalışmak için güncelleştirmeleri kaydedin.
Windows Installer 3.0 sürümünden başlayarak, düzeltme eki yükseltilmiş ayrıcalıklara sahip olarak kaydedildikten sonra kullanıcı başına yönetilen bir bağlamda yüklenmiş olan bir uygulamaya düzeltme ekleri uygulamak mümkündür. Windows Installer'ın sürüm 3.0'dan önceki sürümlerini kullanarak kullanıcı başına yönetilen bir bağlamda yüklü uygulamalara düzeltme eki uygulayamazsınız.
- Bir düzeltme eki paketini yükseltilmiş ayrıcalıklara sahip olarak kaydetmek için SourceListAddSource yöntemini veya MsiSourceListAddSourceEx işlevini kullanın. Düzeltme Eki Per-User Yönetilen Uygulamalarbölümlerinde verilen yönerge ve örnekleri izleyin.
- Windows Vista'da Windows Installer sürüm 4.0'ı çalıştırırken, yönetici olmayan kullanıcılar tarafından gelecekte uygulanabilecek dijital olarak imzalı düzeltme eklerini tanımlayabilmeleri için Windows Installer yüklemelerinin yazarlarına olanak tanıyan Kullanıcı Hesabı Denetimi (UAC) Düzeltme Eki Uygulama'i de kullanabilirsiniz. Bu yalnızca makine başına yükleme bağlamı (ALLUSERS=1) paketlerin yüklenmesiyle kullanılabilir.
- En az ayrıcalıklı düzeltme eklemenin devre dışı bırakılmadığından emin olmak için MSIDISABLELUAPATCHING özelliğini veya DisableLUAPatching ilkesini ayarlayın.
Düzeltme eklerini sıralamak için MsiPatchSequence Tablosunu kullanın.
Paketinizde bir msiPatchSequence tablosu ekleyin ve tabloya yama sıralama bilgilerini ekleyin. Windows Installer 3.0 sürümünden başlayarak yükleyici, en iyi düzeltme eki uygulama sırasını belirlemek için birden çok düzeltme eki yüklerken MsiPatchSequence Tablosunu kullanabilir. Düzeltme eki aileleri tanımlamak için Windows Installer sürüm 3.0'daki Düzeltme Eki Sıralama teknik incelemesinde açıklanan yönergeleri kullanın.
- Eğer mümkünse, tüm düzeltme eklerini tek bir düzeltme paketi grubuna ait olarak belirtin. Çoğu durumda tek bir yama kümesi yamaları sıralamak için yeterli esnekliği sağlar. Birden çok yama ailesi kullanıldığında yazmanın karmaşıklığı artar. Düzeltme eki ailesine anlamlı bir ad atayın ve bu düzeltme eki ailesinde zamanla artacak şekilde sıra değerleri belirleyin. Düzeltme eklerini verildikleri sırayla uygulamak için Birden Çok Düzeltme Eki Uygulama Örneği izleyin.
- PatchSequence Tablo'yi Patchwiz.dll'te MsiPatchSequence Tablo'da bilgi oluşturmak için kullanın. Windows Installer 3.0 ile yayımlanan PATCHWIZ.DLL sürümü otomatik olarak düzeltme eki sıralama bilgileri oluşturabilir. Yeni düzeltme eki ekleme hakkında daha fazla bilgi için bkz. Düzeltme Eki Dizisi Bilgileri Oluşturma. Düzeltme eki sıralama senaryoları hakkında daha fazla bilgi için, Windows Installer sürüm 3.0'da "Düzeltme Eki Sıralama" başlıklı teknik dokümana bakın: .
Yükleme paketini kapsamlı bir şekilde test edin.
Windows Installer paketinizin doğru yüklenmesini, onarılmasını ve kaldırılmasını test edin. Test sürecinizi aşağıdaki bölümlere bölebilirsiniz.
- Yükleme Testi - Yüklemeyi uygulama özelliklerinin tüm olası birleşimleriyle test edin. Yönetimsel Yükleme, Geri Alma Yüklemeve İsteğe Bağlı Yüklemedahil olmak üzere tüm yükleme türlerini test edin. .msi dosyasına tıklama, komut satırı seçeneklerive denetim masasından yükleme de dahil olmak üzere tüm olası yükleme yöntemlerini deneyin. Paketin tüm olası ayrıcalık bağlamlarında kullanıcılar tarafından yüklenebildiğini test edin. Tüm olası yöntemler tarafından dağıtıldıktan sonra paketi yüklemeyi deneyin. Her test için Windows Installer Günlüğü etkinleştirin ve yükleyici günlüğünde ve olay günlüğünde bulunan tüm hataları çözün.
- Kullanıcı Arabirimi Testi - Paket, tüm olası kullanıcı arabirimi düzeyiyle yüklendiğindetest edin. Kullanıcı arabirimi olmadan ve kullanıcı arabirimi aracılığıyla sağlanan tüm bilgilerle yüklenen paketi test edin. Kullanıcı arabiriminin Erişilebilirlik ve kullanıcı arabiriminin farklı ekran çözünürlükleri ve yazı tipi boyutları için beklendiği gibi çalıştığından emin olun.
- Bakım ve Onarım Testi - Paketin Düzeltme Eki Uygulama ve Yükseltmeleri, Küçük Güncelleştirme, Küçük Yükseltmeve Ana Yükseltmetarafından sunulan güncellemeleri işleyebildiğini test edin. Paketi dağıtmadan önce, her türden bir deneme güncelleştirmesi yazın ve özgün pakete uygulamayı deneyin.
- Kaldırma Testi - Paket kaldırıldığında kullanıcının bilgisayarında kendi gereksiz parçalarının kalmadığını ve yalnızca pakete ait bilgilerin kaldırıldığını doğrulayın. Paketi kaldırdıktan sonra test bilgisayarını yeniden başlatın ve yaygın sistem araçlarının ve diğer standart uygulamaların bütünlüğünü doğrulayın. Paketin tüm olası ayrıcalık bağlamlarında kullanıcılar tarafından kaldırılıp kaldırılabildiğini test edin. Paketi kaldırmak için tüm yöntemleri test edin, .msi dosyasına tıklayın, komut satırı seçeneklerini deneyin ve paketi denetim masasından kaldırmayı deneyin. Her test için Windows Installer Günlüğü etkinleştirin ve yükleyici günlüğünde ve olay günlüğünde bulunan tüm hataları çözün.
- Ürün İşlevsellik Testi - Uygulamanın paketin yüklenmesi, onarılması veya kaldırılmasından sonra beklendiği gibi çalıştığından emin olun.
Yeni veya düzeltilmiş bir yükleme paketini dağıtmadan önce tüm doğrulama hatalarını düzeltin.
İlk kez yüklemeye çalışmadan önce yeni veya düzeltilmiş bir Windows Installer paketinde paketi doğrulama çalıştırın. Doğrulama, Yazma hataları için Windows Installer veritabanını denetler. Doğrulamayı geçmeyen bir paket yüklemeye çalışmak kullanıcının sistemine zarar verebilir.
- Orca.exe veya Msival2.exekullanarak paketinizi doğrulayabilirsiniz. Her iki araç da Windows SDK'sı ile sağlanır. Üçüncü taraf satıcılar, ICE doğrulama sistemini kendi yazma ortamlarına da dahil edebilir.
- SDK ile sağlanan .cub dosyalarına dahil edilen İç Tutarlılık Değerlendiricileri - ICE'ler standart kümesini kullanabilir veya ICE oluşturup .cub dosyasına ekleyerek doğrulamayı özelleştirebilirsiniz.
- yükleme paketleri ve birleştirme modülleri için Doğrulama Otomasyonu uygulamak için Evalcom2.dll kullanabilirsiniz.
Güvenli bir kurulum oluşturun.
Yükleme sırasında güvenli bir ortamın korunmasına yardımcı olmak için paketinizi geliştirirken bu yönergeleri izleyin.
- Güvenli Yüklemeler Yazımı için Yönergeler
- Kilitli Bilgisayarlarda Paketlerin Güvenliğini Sağlamaya yönelik Yönergeleri
- Özel Eylemlerin Güvenliğini Sağlama yönergeleri
HANDLE yerine PMSIHANDLE kullanma
PMSIHANDLE türü değişkenleri msi.h içinde tanımlanır. Uygulamanızın PMSIHANDLE türünü kullanması önerilir çünkü yükleyici, kapsamın dışına çıktıkça PMSIHANDLE nesnelerini kapatırken uygulamanızın MsiCloseHandleçağırarak MSIHANDLE nesnelerini kapatması gerekir. PMSIHandle, API imzası uyumluluğu için MSIHANDLE'ye bir atama işleci sağlar.
Örneğin, aşağıdaki gibi bir kod kullanıyorsanız:
MSIHANDLE hRec = MsiCreateRecord(3);
Şu şekilde değiştirin:
PMSIHANDLE hRec = MsiCreateRecord(3);