ICEM12
ICEM12, ModuleSequence tablosunda standart eylemlerin sıra numaralarına ve özel eylemlerin BaseAction ve After değerlerine sahip olduğunu doğrular.
Bu ICEM, Windows Installer 2.0 SDK ve sonraki sürümlerde sağlanan Mergemod.cub dosyasında kullanılabilir. Ayrıntılar için bkz. Windows Installer Geliştiricileri için Windows SDK Bileşenleri.
Sonuç
ICEM12 aşağıdaki durumlarda bir hata yayınlar:
- Modülün sıra numarası olmayan standart bir eylem içerdiğini bulur.
- Standart eylemin, ModuleAdminUISequence tablosunun BaseAction veya After alanlarına, ModuleAdminExecuteSequence tablosu, ModuleAdvtExecuteSequence tablosu, ModuleInstallUISequence tablosuveya ModuleInstallExecuteSequence tablosugirilmiş değerleri olduğunu bulur.
- Modülün Dizisine herhangi bir değer girilmeden özel bir eylem içerdiğini bulur. ModuleAdminUISequence tablosunun BaseAction veya After alanları, ModuleAdminExecuteSequence tablosu, ModuleAdvtExecuteSequence tablosu, ModuleInstallUISequence tablosuveya ModuleInstallExecuteSequence tablosu.
ICEM12, Sıra numarası belirtilmiş olan ancak BaseAction veya After alanlarında değer içermeyen özel bir eylem bulursa bir uyarı postalar.
CustomAction tablosunda bulunan tüm eylemlerin özel eylemler olarak kabul edildiğini unutmayın. Diğer tüm eylemler standart eylemler olarak kabul edilir.
Örnek
ICEM12, aşağıda gösterilen veritabanı girişlerini içeren bir modül için aşağıdaki hata ve uyarı iletilerini yayınlar:
Error. Custom actions should use the BaseAction and After fields and not use the
Sequence field in the Module Sequence tables. The custom action 'Action1' uses the Sequence field
and does not use the BaseAction and After fields in the ModuleInstallExecuteSequence table.
Error. Custom actions should not leave the Sequence, BaseAction, and After fields
of the Module Sequence tables all empty. The custom action 'Action3' leaves the Sequence,
BaseAction, and After fields empty in the ModuleAdminExecuteSequence table.
Error. Standard actions should not use the BaseAction and After fields in Module
Sequence tables. The standard action 'Action2' has a values entered in the BaseAction
or After fields of the ModuleAdminExecuteSequence table.
Error. Standard actions must have a entry in the Sequence field of Module Sequence
tables. The standard action 'Action2' does not have a Sequence value in the
ModuleExecuteSequence table.
Eylem | Tür | Kaynak | Hedef |
---|---|---|---|
Eylem1 | 30 | kaynak1 | target1 |
Eylem3 | 30 | kaynak3 | target3 |
Eylem | Sıra | BaseAction | Sonra | Koşul |
---|---|---|---|---|
Eylem2 | Eylem1 | 1 | doğru | |
Eylem3 | doğru |
Eylem | Sıra | BaseAction | Sonra | Koşul |
---|---|---|---|---|
Eylem1 | 1 | doğru |
Bu hataları düzeltmek için aşağıdakileri deneyin:
- Eylem1 özel eyleminin sıra numarasını kaldırın ve bunun yerine BaseAction ve After alanlarını kullanın.
- Özel eylem Action3 için Sıra, BaseAction veya After alanlarına değerler girin. Standart eylem Eylem2 için BaseAction ve After alanlarını boş bırakın.
- Standart eylem Eylem2 için Sıra alanını boş bırakmayın.
İlgili konular