Yüklemeden sonra çalıştırılması gereken komutlar
Uzantınızı bir .msi dosyası aracılığıyla dağıtırsanız, Visual Studio'nun uzantılarınızı bulması için devenv /setup komutunu yüklemenizin bir parçası olarak çalıştırmanız gerekir.
Not
Bu konudaki bilgiler, Visual Studio 2008 ve önceki sürümleriyle devenv.exe dosyasını bulmak için geçerlidir. Visual Studio'nun sonraki sürümleriyle devenv.exe dosyasını bulma hakkında bilgi için bkz. Sistem gereksinimlerini algılama.
Devenv.exe dosyasını bulma
Kayıt defteri değerlerini özellik olarak depolamak için RegLocator tablosunu ve AppSearch tablolarını kullanarak Visual Studio yükleyicilerinin yazdığı kayıt defteri değerlerinden her sürümün devenv.exe dosyasını bulabilirsiniz. Daha fazla bilgi için bkz . Sistem gereksinimlerini algılama.
Visual Studio'nun farklı sürümlerinden devenv.exe dosyasını bulmak için RegLocator tablo satırları
İmza | Kök | Tuş | Adı | Tip |
---|---|---|---|---|
RL_DevenvExe_2002 | 2 | SOFTWARE\Microsoft\VisualStudio\7.0\Setup\VS | EnvironmentPath | 2 |
RL_DevenvExe_2003 | 2 | SOFTWARE\Microsoft\VisualStudio\7.1\Setup\VS | EnvironmentPath | 2 |
RL_DevenvExe_2005 | 2 | SOFTWARE\Microsoft\VisualStudio\8.0\Setup\VS | EnvironmentPath | 2 |
RL_DevenvExe_2008 | 2 | SOFTWARE\Microsoft\VisualStudio\9.0\Setup\VS | EnvironmentPath | 2 |
İlgili RegLocator tablo satırları için AppSearch tablo satırları
Özellik | İmza |
---|---|
DEVENV_EXE_2002 | RL_DevenvExe_2002 |
DEVENV_EXE_2003 | RL_DevenvExe_2003 |
DEVENV_EXE_2005 | RL_DevenvExe_2005 |
DEVENV_EXE_2008 | RL_DevenvExe_2008 |
Örneğin, Visual Studio yükleyicisi HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Setup\VS\EnvironmentPath kayıt defteri değerini C:\VS2008\Common7\IDE\devenv.exe olarak yazar ve yükleyicinin çalışması gereken yürütülebilir dosyanın tam yolunu yazar.
Not
RegLocator tablosunun Tür sütunu 2 olduğundan, İmza tablosunda ek sürüm bilgileri belirtmek gerekmez.
devenv.exe dosyasını çalıştırma
Yükleyicide AppSearch standart eylemi çalıştırıldıktan sonra, AppSearch tablosundaki her özelliğin, Visual Studio'nun ilgili sürümü için devenv.exe dosyasına işaret eden bir değeri vardır. Belirtilen kayıt defteri değerlerinden herhangi biri yoksa (bu Visual Studio sürümü yüklü olmadığından) belirtilen özellik null olarak ayarlanır.
Windows Installer, bir özelliğin özel eylem türü 50'yi işaret ettiği yürütülebilir dosya çalıştırmayı destekler. Özel eylem, msidbCustomActionTypeInScript
VSPackage'ın Visual Studio ile tümleştirmeden önce başarıyla yüklendiğinden emin olmak için betik içi yürütme seçeneklerini (1024) ve msidbCustomActionTypeCommit
(512) içermelidir. Daha fazla bilgi için bkz . CustomAction tablosu ve Özel eylem betik içi yürütme seçenekleri.
50 türündeki özel eylemler, yürütülebilir dosyayı içeren özelliği Kaynak sütununun değeri ve Hedef sütunundaki komut satırı bağımsız değişkenlerinin değeri olarak belirtir.
Devenv.exe dosyasını çalıştırmak için CustomAction tablo satırları
Eylem | Tür | Source | Target |
---|---|---|---|
CA_RunDevenv2002 | 1586 | DEVENV_EXE_2002 | /Kurulum |
CA_RunDevenv2003 | 1586 | DEVENV_EXE_2003 | /Kurulum |
CA_RunDevenv2005 | 1586 | DEVENV_EXE_2005 | /Kurulum |
CA_RunDevenv2008 | 1586 | DEVENV_EXE_2008 | /Kurulum |
Özel eylemlerin yükleme sırasında yürütülmek üzere zamanlanması için InstallExecuteSequence tablosuna yazılması gerekir. Bu Visual Studio sürümü sistemde yüklü değilse özel eylemin çalıştırılmasını önlemek için Koşul sütununun her satırında karşılık gelen özelliği kullanın.
Not
Null değerli özellikler, koşullarda kullanıldığında olarak değerlendirilir False
.
Her özel eylem için Sıra sütununun değeri, Windows Installer paketinizdeki diğer sıra değerlerine bağlıdır. Sıra değerleri, devenv.exe özel eylemlerinin InstallFinalize standart eyleminden hemen önceye kadar mümkün olduğunca yakın şekilde çalışması gerekir.
Devenv.exe özel eylemlerini zamanlamak için InstallExecuteSequence tablosu
Eylem | Koşul | Sequence |
---|---|---|
CA_RunDevenv2002 | DEVENV_EXE_2002 | 6602 |
CA_RunDevenv2003 | DEVENV_EXE_2003 | 6603 |
CA_RunDevenv2005 | DEVENV_EXE_2005 | 6605 |
CA_RunDevenv2008 | DEVENV_EXE_2008 | 6608 |