Hi,
Wouldn't it be too much trouble to extend functionality of REQUIRE_COMPONENT in order to allow evaluation of the modComponent number, just as MOD_IS_INSTALLED action?
This example currently fails:
BACKUP "IEModA\backup"
SUPPORT "IEModA"
VERSION "1.1.0"
BEGIN "MainComponent" LABEL "IEModA-MainComponent" DESIGNATED 1000
OUTER_SET ID = ID_OF_LABEL "IEModA.tp2" "IEModA-MainComponent"
PRINT "%ID%"
BEGIN "ExtraComponent" LABEL "IEModA-ExtraComponent" DESIGNATED 2000
REQUIRE_COMPONENT "IEModA.tp2" (ID_OF_LABEL "IEModA.tp2" "IEModA-MainComponent") "Require IEModA-MainComponent"
OUTER_SET ID = ID_OF_LABEL "IEModA.tp2" "IEModA-ExtraComponent" PRINT "%ID%"
This is workaround but with the drawbacks:
BEGIN "MainComponent" LABEL "IEModA-MainComponent" DESIGNATED 1000
OUTER_SET ID = ID_OF_LABEL "IEModA.tp2" "IEModA-MainComponent"
PRINT "%ID%"
BEGIN "ExtraComponent" LABEL "IEModA-ExtraComponent" DESIGNATED 2000
ACTION_IF MOD_IS_INSTALLED "IEModA.tp2" (ID_OF_LABEL "IEModA.tp2" "IEModA-MainComponent") BEGIN
OUTER_SET ID = ID_OF_LABEL "IEModA.tp2" "IEModA-ExtraComponent"
PRINT "%ID%"
END ELSE BEGIN
ABORT "Require IEModA-MainComponent"
END