ICEM12

ICEM12 überprüft, dass in einer ModulSequence-Tabelle Standardaktionen Sequenznummern und benutzerdefinierte Aktionen mit BaseAction- und After-Werten haben.

Dieser ICEM ist in der mergemod.cub-Datei verfügbar, die im Windows Installer 2.0 SDK und höher bereitgestellt wird. Ausführliche Informationen finden Sie unter Windows SDK-Komponenten für Windows Installer-Entwickler.

Ergebnis

ICEM12 enthält einen Fehler in den folgenden Fällen:

ICEM12 stellt eine Warnung fest, wenn eine benutzerdefinierte Aktion gefunden wird, die eine angegebene Sequenznummer enthält, aber keinen Wert in den Feldern "BaseAction" oder "After".

Beachten Sie, dass alle Aktionen, die in der CustomAction-Tabelle gefunden wurden, als benutzerdefinierte Aktionen angesehen werden. Alle anderen Aktionen gelten als Standardaktionen.

Beispiel

ICEM12 stellt die folgenden Fehlermeldungen und Warnungsmeldungen für ein Modul bereit, das die unten gezeigten Datenbankeinträge enthält:

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.

CustomAction

Aktion type `Source` Ziel
Action1 30 Quelle1 Ziel1
Action3 30 Source3 ziel3

 

ModuleAdminExecuteSequence

Aktion Sequenz BaseAction Danach Bedingung
Action2   Action1 1 true
Action3       true

 

ModuleInstallExecuteSequence

Aktion Sequenz BaseAction Danach Bedingung
Action1 1     true

 

Um diese Fehler zu beheben, versuchen Sie folgendes:

  • Entfernen Sie die Sequenznummer für die benutzerdefinierte Aktion "Aktion1", und verwenden Sie stattdessen die Felder "BaseAction" und "After".
  • Geben Sie Werte in die Felder "Sequenz", "BaseAction" oder "After" für die benutzerdefinierte Aktion "Action3" ein. Lassen Sie die Felder "BaseAction" und "After" für Standardaktion "Action2" leer.
  • Lassen Sie das Feld "Sequenz" für Standardaktion "Action2" nicht leer.

Seriendruckmodul-ICE-Referenz