Yükleme Bağlamı
Windows Installer bir bilgisayara bir paketi iki yükleme bağlamı içine yükleyebilir: makine başına ve kullanıcı başına. Bilgisayarın tüm kullanıcılarının uygulamaya erişmesini ve uygulamayı kullanmasını sağlamak için paketin makine başına yüklemesi gerekir. Makine başına yükleme, sistemde tüm kullanıcıları etkileyen değişiklikler yaptığından, sınırlı ayrıcalıklara sahip standart kullanıcıların önce izin almadan makine başına bağlama paket yüklemeleri engellenebilir.
Kullanıcı başına veya makine başına yükleme için paketi yazarak ve ALLUSERS ve MSIINSTALLPERUSERözellikleriniyükleme bağlamını belirtebilirsiniz. Bu özelliklere bağlı olarak, Windows Installer klasör özelliklerinin ve kayıtlarının değerlerini kullanıcı başına veya makine başına bağlam için konumlara otomatik olarak yeniden yönlendirir.
Not
Windows Installer 5.0 ve Windows Server 2008 R2 ve Windows 7 ile başlayan MSIINSTALLPERUSER özelliği, makine başına veya kullanıcı başına bağlamda yüklenebilen tek bir paketin geliştirilmesini kolaylaştırabilir. Kullanıcıya yükleme zamanında yükleme bağlamını seçme olanağı sağlayan çift amaçlı bir paket geliştirme hakkında bilgi için bkz. Tek Paket Yazma. ALLUSERS değeri 2 değilse Windows Installer MSIINSTALLPERUSER özelliğini yoksayar. Windows Installer, makine başına bağlama yüklendiğinde ALLUSERS değerini her zaman 1 olarak sıfırlar ve kullanıcı başına bağlamda yüklendiğinde ALLUSERS değerini boş bir dizeye ("") sıfırlar.
Kısayol Yeniden Yönlendirme
Aşağıdaki tabloda, makine başına ve kullanıcı başına yükleme bağlamları için kısayolların konumları karşılaştırlenmektedir.
Per-Machine Yükleme Bağlamı (ALLUSERS=1) | Per-User Yükleme Bağlamı (ALLUSERS="") |
---|---|
Uygulamalar, bilgisayarın tüm kullanıcıları için Denetim Masası'ndaki Program Ekle/Kaldır altında görünür. |
Uygulamalar yalnızca, uygulamaları yüklemiş olan kullanıcılar için Denetim Masası'ndaki Program Ekle/Kaldır altında görünür. |
Kısayollar Tüm Kullanıcılar profiline yüklenir. |
Kısayollar yalnızca o kullanıcının profiline yüklenir. |
Simgeler ve dönüşümler \Installer\{ProductCode} %WINDOWS%depolanır. |
Simgeler ve dönüşümler \Application Data\Microsoft\Installer\{ProductCode GUID} %USERPROFILE%depolanır |
Kayıt Defteri Yeniden Yönlendirme
Aşağıdaki tablo, makine başına ve kullanıcı başına yükleme bağlamları için kayıt defteri girdilerinin konumlarını karşılaştırır.
Per-Machine Yükleme Bağlamı (ALLUSERS=1) | Per-User Yükleme Bağlamı (ALLUSERS="") |
---|---|
Windows Installer, Kayıt Defteri tablosuna ve RemoveRegistry tablosuna girilen kayıt defteri değerlerini kök sütununda -1 HKEY_LOCAL_MACHINE altında yazar veya kaldırır. |
Windows Installer, Kayıt Defteri tablosuna girilen kayıt defteri değerlerini yazar veya kaldırır ve Kök sütununda HKEY_CURRENT_USER altında -1 değeriyle RemoveRegistry tablosuna. |
Windows Installer, Kayıt Defteri tablosuna ve RemoveRegistry tablosuna girilen kayıt defteri değerlerini kök sütununda msidbRegistryRootClassesRoot (0) değeriyle HKLM\Software\Sınıflarıaltında yazar veya kaldırır. |
Windows Installer, Kayıt Defteri tablosuna ve RemoveRegistry tablosuna girilen kayıt defteri değerlerini Kök sütununda msidbRegistryRootClassesRoot (0) değeriyle HKCU\Software\Sınıflarıaltında yazar veya kaldırır. |
COM kaydı,HKLM\Yazılım\Sınıfları'na yazılır. |
COM kaydı, HKCU\Yazılım\Sınıflarıyazılır. |
Klasör Yeniden Yönlendirme
Windows Installer, klasör özelliklerinin değerlerini yükleme bağlamı için ilgili klasörün tam yoluna ayarlar.
Not
Klasörler, KNOWNFOLDERID ve CSIDLsabitleritarafından tanımlanır. Windows Vista'ya başlayarak, uygulamalar özel klasörlerin tam yolunu belirlemek için SHGetKnownFolderPath işlevini ve KNOWNFOLDERID kullanmalıdır. SHGetFolderPath işlevini ve sabit özel öğe kimliklerini (CSIDL) kullanan mevcut uygulamalar çalışmaya devam eder.
Aşağıdaki tabloda, Windows Installer paketi makine başına veya kullanıcı başına yükleme bağlamlarına yüklerken kullanılan klasörlerin konumları karşılaştırılır.
Per-Machine Yükleme Bağlamı (ALLUSERS=1) | Per-User Yükleme Bağlamı (ALLUSERS="") |
---|---|
DesktopFolderTüm kullanıcılar için Masaüstü klasörünün tam yolu. FOLDERID_PublicDesktop (CSIDL_COMMON_DESKTOPDIRECTORY) |
DesktopFolderGeçerli kullanıcı için Masaüstü klasörünün tam yolu. FOLDERID_Desktop (CSIDL_DESKTOP, CSIDL_DESKTOPDIRECTORY) |
ProgramMenuFolderTüm kullanıcılar için Program Menüsü klasörünün tam yolu. FOLDERID_CommonPrograms (CSIDL_COMMON_PROGRAMS) |
ProgramMenuFolderGeçerli kullanıcı için Program Menüsü klasörünün tam yolu. FOLDERID_Programs (CSIDL_PROGRAMS) |
StartMenuFolderTüm kullanıcılar için Başlat Menüsü klasörünün tam yolu. FOLDERID_CommonStartMenu (CSIDL_COMMON_STARTMENU) |
StartMenuFolderGeçerli kullanıcı için Başlat Menüsü klasörünün tam yolu. FOLDERID_StartMenu (CSIDL_STARTMENU) |
StartUpFolder Tüm kullanıcılar için Başlangıç klasörünün tam yolu. FOLDERID_CommonStartup (CSIDL_COMMON_STARTUP) |
StartUpFolderGeçerli kullanıcı için Başlangıç klasörünün tam yolu. FOLDERID_Startup (CSIDL_STARTUP) |
TemplateFolderTüm kullanıcılar için Şablonlar klasörünün tam yolu. FOLDERID_CommonTemplates (CSIDL_COMMON_TEMPLATES) |
TemplateFolderGeçerli kullanıcı için Şablonlar klasörünün tam yolu. FOLDERID_Templates (CSIDL_TEMPLATES) |
AdminToolsFolderTüm kullanıcılar için Yönetici Araçları klasörünün tam yolu. FOLDERID_CommonAdminTools (CSIDL_COMMON_ADMINTOOLS) |
AdminToolsFolderGeçerli kullanıcının Yönetici Araçları klasörünün tam yolu. FOLDERID_AdminTools (CSIDL_ADMINTOOLS) |
AppDataFolderProgram Menüsü klasörünün tam yolu. Windows Vista ve sonraki sürümleri : Dolaşım klasörünün tam yolu. FOLDERID_RoamingAppData (CSIDL_APPDATA) |
AppDataFolderProgram Menüsü klasörünün tam yolu. Windows Vista ve sonraki sürümleri : Dolaşım klasörünün tam yolu. FOLDERID_RoamingAppData (CSIDL_APPDATA) |
CommonAppDataFolderTüm kullanıcılar için uygulama verilerini içeren klasörün tam yolu. FOLDERID_ProgramData (CSIDL_COMMON_APPDATA) |
CommonAppDataFolderTüm kullanıcılar için uygulama verilerini içeren klasörün tam yolu. FOLDERID_ProgramData (CSIDL_COMMON_APPDATA) |
Sık KullanılanlarKlasör Geçerli kullanıcı için Sık Kullanılanlar klasörünün tam yolu. FOLDERID_Favorites (CSIDL_FAVORITES) |
Sık KullanılanlarKlasör Geçerli kullanıcı için Sık Kullanılanlar klasörünün tam yolu. FOLDERID_Favorites (CSIDL_FAVORITES) |
Kişisel Klasör Geçerli kullanıcı için Belgelerim klasörünün veya Kişisel klasörünün tam yolu. Windows Vista ve sonraki sürümleri : Geçerli kullanıcı için Belgeler klasörünün tam yolu. FOLDERID_Documents (CSIDL_PERSONAL) |
Kişisel Klasör Geçerli kullanıcı için Belgelerim klasörünün veya Kişisel klasörünün tam yolu. Windows Vista ve sonraki sürümleri : Geçerli kullanıcı için Belgeler klasörünün tam yolu. FOLDERID_Documents (CSIDL_PERSONAL) |
SendToFolderSendTo klasörünün tam yolunu. FOLDERID_SendTo (CSIDL_SENDTO) |
SendToFolderSendTo klasörünün tam yolunu. FOLDERID_SendTo (CSIDL_SENDTO) |
FontsFolderSystem Fonts klasörünün tam yolu. FOLDERID_Fonts (CSIDL_FONTS) |
FontsFolderSystem Fonts klasörünün tam yolu. FOLDERID_Fonts (CSIDL_FONTS) |
ProgramFilesFolderWindows'un 32 bit sürümü: Özellik değeri, tüm kullanıcılar için Program Files klasörünün tam yoludur (örneğin, %ProgramFiles%.) Bu klasörün tanımlayıcısı FOLDERID_ProgramFiles (CSIDL_PROGRAM_FILES.) FOLDERID_ProgramFiles ve FOLDERID_ProgramFilesX86 tanımlayıcıları aynı klasörü temsil eder. Bu klasördeki dosyalara tüm kullanıcılar erişebilir. Windows'un 64 bit sürümünü : Özellik değeri, tüm kullanıcılar için Program Files (x86) klasörünün tam yoludur (örneğin, %ProgramFiles(x86)%.) Bu klasörün tanımlayıcısı FOLDERID_ProgramFilesX86 (CSIDL_PROGRAM_FILESX86.) Bu klasördeki dosyalara tüm kullanıcılar erişebilir. |
ProgramFilesFolderWindows Server 2008 R2 ve Windows 7: Özellik değeri, geçerli kullanıcının Programlar klasörünün tam yoludur (örneğin, %LocalAppData%\Programs.) Bu klasörün tanımlayıcısı 32 bit ve 64 bit sistemlerde FOLDERID_UserProgramFiles.
FOLDERID_UserProgramFilesiçin eşdeğer CSIDL tanımlayıcısı yoktur. Bu klasördeki dosyalara yalnızca bu klasörü yükleyen kullanıcı erişebilir. Windows Server 2008 ve öncesi ile Windows Vista ve önceki sürümleri: Kullanıcı başına kullanılabilir klasör yok. Yol, makine başına bağlamla aynıdır (örneğin, %ProgramFiles% veya %ProgramFiles(x86)%.) Bu klasördeki dosyalara tüm kullanıcılar erişebilir. |
CommonFilesFolderWindows'un 32 bit sürümü: Özellik değeri, tüm kullanıcılar için Common Files klasörünün tam yoludur (örneğin, %ProgramFiles%\Common Files.) Bu klasörün tanımlayıcısı FOLDERID_ProgramFilesCommon (CSIDL_PROGRAM_FILES_COMMON.) FOLDERID_ProgramFilesCommon ve FOLDERID_ProgramFilesCommonX86 tanımlayıcıları aynı klasörü temsil eder. Bu klasördeki dosyalara tüm kullanıcılar erişebilir. Windows'un 64 bit sürümünü : Özellik değeri, tüm kullanıcılar için Common Files klasörünün tam yoludur (örneğin, %ProgramFiles(x86)%\Common Files.) Bu klasörün tanımlayıcısı FOLDERID_ProgramFilesCommonX86 (CSIDL_PROGRAM_FILES_COMMONX86.) Bu klasördeki dosyalara tüm kullanıcılar erişebilir. |
CommonFilesFolderWindows Server 2008 R2 ve Windows 7: Özellik değeri, geçerli kullanıcının Common klasörünün tam yoludur (örneğin, %LocalAppData%\Programs\Common.) Bu klasörün tanımlayıcısı 32 bit ve 64 bit sistemlerde FOLDERID_UserProgramFilesCommon.
FOLDERID_UserProgramFilesCommoniçin eşdeğer CSIDL tanımlayıcısı yoktur. Bu klasördeki dosyalara yalnızca bu klasörü yükleyen kullanıcı erişebilir. Windows Server 2008 ve öncesi ile Windows Vista ve önceki sürümleri: Kullanıcı başına kullanılabilir klasör yok. Yol, makine başına bağlamla aynıdır (örneğin, \Common Files veya %ProgramFiles(x86) %ProgramFiles%%\Common Files.) Bu klasördeki dosyalara tüm kullanıcılar erişebilir. |
ProgramFiles64FolderÖzellik değeri, tüm kullanıcılar için Program Files klasörünün tam yoludur (örneğin, %ProgramFiles%.) Bu klasörün tanımlayıcısı FOLDERID_ProgramFilesX64.
FOLDERID_ProgramFilesX64için eşdeğer CSIDL tanımlayıcısı yoktur. Bu, 64 bit bileşenler için önceden tanımlanmış klasördür ve 64 bit sistemler için geçerlidir. Bu klasördeki dosyalara tüm kullanıcılar erişebilir. |
ProgramFiles64FolderWindows Server 2008 R2 ve Windows 7: Özellik değeri, geçerli kullanıcının Programlar klasörünün tam yoludur (örneğin, %LocalAppData%\Programs.) Bu klasörün tanımlayıcısı FOLDERID_UserProgramFiles.
FOLDERID_UserProgramFilesiçin eşdeğer CSIDL tanımlayıcısı yoktur. Bu klasördeki dosyalara yalnızca bu klasörü yükleyen kullanıcı erişebilir. Windows Server 2008 ve öncesi ile Windows Vista ve önceki sürümleri: Kullanıcı başına kullanılabilir klasör yok. Yol, makine başına bağlamla aynıdır (örneğin, %ProgramFiles%.) Bu klasördeki dosyalara tüm kullanıcılar erişebilir. |
CommonFiles64FolderÖzellik değeri, tüm kullanıcılar için Common Files klasörünün tam yoludur (örneğin, %ProgramFiles%\Common Files.) Bu, 64 bit bileşenler için önceden tanımlanmış klasördür ve 64 bit sistemler için geçerlidir. Bu klasörün tanımlayıcısı FOLDERID_ProgramFilesCommonX64.
FOLDERID_ProgramFilesCommonX64eşdeğer CSIDL tanımlayıcısı yoktur. Bu klasördeki dosyalara tüm kullanıcılar erişebilir. |
CommonFiles64FolderWindows Server 2008 R2 ve Windows 7: Özellik değeri, geçerli kullanıcının Common klasörünün tam yoludur (örneğin, %LocalAppData%\Programs\Common.) Bu klasörün tanımlayıcısı FOLDERID_UserProgramFilesCommon.
FOLDERID_UserProgramFilesCommoniçin eşdeğer CSIDL tanımlayıcısı yoktur. Bu klasördeki dosyalara yalnızca bu klasörü yükleyen kullanıcı erişebilir. Windows Server 2008 ve öncesi ile Windows Vista ve önceki sürümleri: Kullanıcı başına kullanılabilir klasör yok. Yol, makine başına bağlamla aynıdır (örneğin, %ProgramFiles%\Common Files.) Bu klasördeki dosyalara tüm kullanıcılar erişebilir. |
WindowsFolderWindows klasörünün tam yolunu. FOLDERID_Windows (CSIDL_WINDOWS) |
WindowsFolderWindows klasörünün tam yolunu. FOLDERID_Windows (CSIDL_WINDOWS) |
SystemFolderSystem klasörünün tam yolunu. FOLDERID_SystemX86 (CSIDL_SYSTEMX86) |
SystemFolderSystem klasörünün tam yolunu. FOLDERID_SystemX86 (CSIDL_SYSTEMX86) |
LocalAppDataFolderYerel (sanal olmayan) uygulamalar içeren klasörün tam yolu. FOLDERID_LocalAppData (CSIDL_LOCAL_APPDATA) |
LocalAppDataFolderYerel (sanal olmayan) uygulamalar içeren klasörün tam yolu. FOLDERID_LocalAppData (CSIDL_LOCAL_APPDATA) |
MyPicturesFolderResimler veya Resimlerim klasörünün tam yolu. FOLDERID_Pictures (CSIDL_MYPICTURES) |
MyPicturesFolderResimler veya Resimlerim klasörünün tam yolu. FOLDERID_Pictures (CSIDL_MYPICTURES) |
PrintHoodFolderPrintHood klasörünün tam yolunu. FOLDERID_PrintHood (CSIDL_PRINTHOOD) |
PrintHoodFolderPrintHood klasörünün tam yolunu. FOLDERID_PrintHood (CSIDL_PRINTHOOD) |
NetHoodFolderNetHood klasörünün tam yolunu. FOLDERID_NetHood (CSIDL_NETHOOD) |
NetHoodFolderNetHood klasörünün tam yolunu. FOLDERID_NetHood (CSIDL_NETHOOD) |
RecentFolderRecent klasörünün tam yolu. FOLDERID_Recent (CSIDL_RECENT) |
RecentFolderRecent klasörünün tam yolu. FOLDERID_Recent (CSIDL_RECENT) |
Not
Bir uygulama MsiEnumProducts veya MsiEnumProductsEx işlevlerini çağırarak sistemde yüklü olan tüm ürünleri numaralandırabilir. Uygulama daha sonra MsiGetProductInfoEx veya MsiGetProductInfoişlevleriniçağırarak bu ürünlerin yükleme bağlamı hakkında bilgi alabilir. Daha fazla bilgi için bkz. yükleme bağlamı belirleme .