ICEM12
ICEM12 會驗證 ModuleSequence 資料表中的標準動作具有序號,而自訂動作具有 BaseAction 和 After 值。
此 ICEM 可在 Windows Installer 2.0 SDK 和更新版本中提供的 Mergemod.cub 檔案中使用。 如需詳細資訊,請參閱 適用于 Windows Installer 開發人員的 Windows SDK 元件。
ICEM12 會在下列情況下張貼錯誤:
- 它會尋找模組包含不含序號 的標準動作 。
- 它會發現標準動作具有在 ModuleAdminUISequence 資料表、 ModuleAdminExecuteSequence 資料表、 ModuleAdvtExecuteSequence資料表、 ModuleInstallUISequence 資料表或 ModuleInstallExecuteSequence 資料表或 ModuleInstallExecuteSequence 資料表中輸入的值。
- 它會尋找模組包含 自訂動作 ,而沒有任何值輸入 ModuleAdminUISequence 資料表的 Sequence、BaseAction 或 After 欄位、 ModuleAdminExecuteSequence 資料表、 ModuleAdvtExecuteSequence資料表、 ModuleInstallUISequence 資料表或 ModuleInstallExecuteSequence 資料表。
如果 ICEM12 發現已指定序號的自訂動作,但 BaseAction 或 After 欄位中沒有值,則會張貼警告。
請注意, CustomAction 資料表 中找到的所有動作都會被視為自訂動作。 所有其他動作都會被視為標準動作。
ICEM12 會針對包含下列資料庫專案的模組張貼下列錯誤和警告訊息,如下所示:
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.
動作 | 類型 | 來源 | 目標 |
---|---|---|---|
Action1 | 30 | source1 | target1 |
Action3 | 30 | source3 | target3 |
動作 | 順序 | BaseAction | After | 條件 |
---|---|---|---|---|
Action2 | Action1 | 1 | true | |
Action3 | true |
動作 | 順序 | BaseAction | After | 條件 |
---|---|---|---|---|
Action1 | 1 | true |
若要修正這些錯誤,請嘗試下列各項:
- 移除自訂動作 Action1 的序號,並改用 BaseAction 和 After 欄位。
- 在自訂動作 Action3 的 Sequence、BaseAction 或 After 欄位中輸入值。 針對標準動作 Action2,將 BaseAction 和 After 欄位保留空白。
- 請勿將 [順序] 欄位保留為標準動作 Action2 的空白。