none
MSI validations (ICE) and signing third party modules RRS feed

  • Question

  • Hi there,


    We are having problems validating with ICE the Office Web Components (owc10se.msi) and the Visual Studio 6 runtime redistributable. Those are MS components, How should we proceed?

     

    The sample problem happends with signing and version for files like MSCDM.dll, UCS20.dll, USP10.dll (from MS) and other third party components.

     

    Any help would be really appreciated.


    Thanks in advance,
    Jose

    Wednesday, February 13, 2008 11:45 AM

Answers

  • Hi Miquel

    You are requested to only fix errors that are in your component. Any MSI/ICE error in components that are external to your product (For ex: a third party component of Microsoft's) you can call them out in your documentation/notes to the testing vendor.

    You will not be failed for these external issues.

     

    Hope that helps,

    Thanks,

    [Venkat]

     

    Friday, February 15, 2008 7:26 PM

All replies

  • Hi Jose,

     

    -  If you are receing warnings then ICE warnings are acceptable as per TC2.1.2. If you are receiving errors then please let   me know which errors are you getting?

     

    -  Just document all third party unsigned files and work with your testing vendor to move forward.

     

    Thanks.

    Pooja.

    Wednesday, February 13, 2008 3:16 PM
  • Hi Poojak,

     

    I'm a worker in a spanish company and the problem reported by Jose Murillo is our. Jose was our contact in Microsoft.

     

    In fact the errors/warnings are not in TC2.1.2, are in TC1_1.

     

    In package system.msi (is made by us with visual studio 6 merge modules inside) the errors are:

     

    ICE18        ERROR     KeyPath for Component: 'Register' is Directory: 'INSTALLDIR'. The Directory/Component pair must be listed in the CreateFolders table.
    ICE20        ERROR     Standard Dialog: 'FilesInUse' not found in Dialog table
    ICE34        ERROR     Change is not a valid default value for the RadioButtonGroup using property _IsMaintenance. The value must be listed as an option in the RadioButtonGroup table.
    ICE44        ERROR     Control Event for Control 'SetupResume'.'Next' is of type NewDialog, but its argument OutOfSpace is not a valid entry in the Dialog Table.
    ICE44        ERROR     Control Event for Control 'ReadyToInstall'.'InstallNow' is of type NewDialog, but its argument OutOfSpace is not a valid entry in the Dialog Table.
    ICE44        ERROR     Control Event for Control 'ReadyToRemove'.'RemoveNow' is of type NewDialog, but its argument OutOfSpace is not a valid entry in the Dialog Table.

    and a lot of warning similar the following text:

     

    ICE33        WARNING   Reg key Global_Controls_MSCOMCTLOCX_r150.3207D1B9_80E5_11D2_B95D_006097C4DE24 is used in an unsupported way. ProgId should be registered via the ProgId table. This entry may overwrite a value created through that table.

     

    NOTE: For this msi package we suppose we can fix the errors of the msi package but NOT the warnings, because this warnings belongs to MSM modules made by Microsoft.

     

    The other MSI package are made directly by Microsoft and is owc10se.msi. In this msi package the warnings/errors are:

     

    ICE33        WARNING   Reg key mscdm.sreg0003 is used in an unsupported way. ProgId should be registered via the ProgId table. This entry may overwrite a value created through that table.

    ....(a lot more of this kind, one for each component.class)....

     

    ICE33        WARNING   Reg key mscdm.sreg0008 is used in an unsupported way. CLSIDs should be registered via the Class table. This entry may overwrite a value created through that table.

    ...(a lot more of this kind, again)...

     

    ICE33        WARNING   Reg key mscdm.sreg0011 is used in an unsupported way. CLSID - ProgId associations should be registered via the Class and ProgId tables. This entry may overwrite a value created through those tables.

    ... (a lot more of this kind, again)....

     

    ICE78        ERROR     Action 'CostInitialize' found in AdvtUISequence table. No UI is allowed during advertising. Therefore AdvtUISequence table must be empty or not present.
    ICE78        ERROR     Action 'CostFinalize' found in AdvtUISequence table. No UI is allowed during advertising. Therefore AdvtUISequence table must be empty or not present.
    ICE78        ERROR     Action 'ExecuteAction' found in AdvtUISequence table. No UI is allowed during advertising. Therefore AdvtUISequence table must be empty or not present.
    ICE82        WARNING   This action SetSupportErrorTextAdmin_PROBLEM has duplicate sequence number 302 in the table InstallExecuteSequence
    ICE82        WARNING   This action SetSupportErrorTextAdmin_PERMISSION has duplicate sequence number 301 in the table InstallExecuteSequence
    ICE82        WARNING   This action SetSupportErrorTextOEM has duplicate sequence number 300 in the table InstallExecuteSequence
    ICE82        WARNING   This action CostInitialize has duplicate sequence number 300 in the table InstallExecuteSequence
    ICE82        WARNING   This action SetSetupPSSHelpFileDir_Installed has duplicate sequence number 501 in the table InstallExecuteSequence
    ICE82        WARNING   This action SetSetupPSSHelpFileDir_NotInstalled has duplicate sequence number 501 in the table InstallExecuteSequence
    ICE82        WARNING   This action SetSetupHelpFileDir_NotInstalled has duplicate sequence number 501 in the table InstallExecuteSequence
    ICE82        WARNING   This action IsBiDiOSAction has duplicate sequence number 99 in the table InstallExecuteSequence
    ICE82        WARNING   This action SetOfficeProps has duplicate sequence number 99 in the table InstallExecuteSequence
    ICE82        WARNING   This action setAVAILABLEFREEREGTerm has duplicate sequence number 999 in the table InstallExecuteSequence
    ICE82        WARNING   This action RegisterUser has duplicate sequence number 1100 in the table InstallExecuteSequence
    ICE82        WARNING   This action SetSupportErrorTextAdmin_PROBLEM has duplicate sequence number 302 in the table InstallUISequence
    ICE82        WARNING   This action SetSupportErrorTextAdmin_PERMISSION has duplicate sequence number 301 in the table InstallUISequence
    ICE82        WARNING   This action SetSupportErrorTextOEM has duplicate sequence number 300 in the table InstallUISequence
    ICE82        WARNING   This action SetSetupPSSHelpFileDir_Installed has duplicate sequence number 1501 in the table InstallUISequence
    ICE82        WARNING   This action SetSetupPSSHelpFileDir_NotInstalled has duplicate sequence number 1501 in the table InstallUISequence
    ICE82        WARNING   This action SetSetupHelpFileDir_NotInstalled has duplicate sequence number 1501 in the table InstallUISequence
    ICE82        WARNING   This action IsBiDiOSAction has duplicate sequence number 199 in the table InstallUISequence
    ICE82        WARNING   This action SetOfficeProps has duplicate sequence number 199 in the table InstallUISequence
    ICE82        WARNING   This action SetSetupHelpFileDir_NotInstalled has duplicate sequence number 301 in the table AdminExecuteSequence
    ICE82        WARNING   This action VerifyUnicodeInstallPathNameOk has duplicate sequence number 10 in the table AdminExecuteSequence
    ICE82        WARNING   This action SetSetupHelpFileDir_NotInstalled has duplicate sequence number 401 in the table AdminUISequence
    ICE84        WARNING   Action 'ProcessComponents' found in InstallExecuteSequence table is a required action with a condition.
    ICE84        WARNING   Action 'UnpublishFeatures' found in InstallExecuteSequence table is a required action with a condition.

     

    Another error reported by the validation tool are checking the upgrade id in TC1.2:

     

    12/02/2008 9:45:21 :: ======================================================================
    12/02/2008 9:45:21 :: Results for test case 1.2
    12/02/2008 9:45:21 :: Package identity must be correctly configured. 
    12/02/2008 9:45:21 :: ======================================================================
    12/02/2008 9:45:21 :: Setup package name: C:\Program Files (x86)\ottools 7.5 Build 151 Setup\system.msi
    12/02/2008 9:45:21 :: List of MSI Errors:
    12/02/2008 9:45:21 ::  Table name: Upgrade
    12/02/2008 9:45:22 ::   Expected : "VersionMin" and "VersionMax" must not both be null.| Actual : null
    12/02/2008 9:45:22 ::   Expected : Atleast one upgrade code in the upgrade table must match the upgrade code in the property table.  | Actual: Property table: Upgrade code = {F41BB3EA-E383-4F3D-AF7D-715170968839} Upgrade table: Upgrade code =
    12/02/2008 9:45:22 :: ======================================================================
    12/02/2008 9:45:22 :: Setup package name: C:\Program Files (x86)\ottools 7.5 Build 151 Setup\owc10se.msi
    12/02/2008 9:45:22 :: List of MSI Errors:
    12/02/2008 9:45:22 ::   Expected : Atleast one upgrade code in the upgrade table must match the upgrade code in the property table.  | Actual: Property table: Upgrade code = {00260000-6000-11D3-8CFE-0050048383C9} Upgrade table: Upgrade code = {001E0000-6000-11D3-8CFE-1050048383C9}, {78470B10-4927-11D2-B5FE-006097C998E7}, {78470B12-4927-11D2-B5FE-006097C998E7}, {78470B14-4927-11D2-B5FE-006097C998E7}, {78470B16-4927-11D2-B5FE-006097C998E7}, {78470B18-4927-11D2-B5FE-006097C998E7}, {78470B1A-4927-11D2-B5FE-006097C998E7}, {78470B1C-4927-11D2-B5FE-006097C998E7}, {78470B1E-4927-11D2-B5FE-006097C998E7},
    12/02/2008 9:45:23 :: ======================================================================
    12/02/2008 9:45:23 :: Setup package name: C:\Program Files (x86)\ottools 7.5 Build 151 Setup\setup.exe
    12/02/2008 9:45:23 :: List of MSI Errors:
    12/02/2008 9:45:23 :: This test case is applicable only for MSI package(s).
    12/02/2008 9:45:23 :: ======================================================================
    12/02/2008 9:45:23 :: ======================================================================
    12/02/2008 9:45:23 :: End of results for test case 1.2
    12/02/2008 9:45:23 :: ======================================================================

    NOTE: In system.msi there is not a upgrade code intentionaly because we don't want to update this MSI, This MSI package is designed only as a initial step to ensure all visual studio components are correctly installed.

     

     

    This is the list of all errors and warning reported by validation tool refered to MSI package.

     

    Thanks for advance for your help

     

    Miquel Jordana

     

     

    Thursday, February 14, 2008 10:02 AM
  • Hi,

     

    You just need to fix the ICE errors and you can always ignore the warnings.

     

    ICE 18:

    ICE18 validates that any empty directories used as a key path for a component are listed in the CreateFolder table.

    If the KeyPath column of the Component table is Null, this means that directory listed in the Directory_ column is the key path for that component. Because folders created by the installer are deleted when they become empty, this folder must be listed in the CreateFolder table to prevent the installer from attempting to install every time.

     

    Your component is in a directory which doesn't have any files in it, so the validation is worried that the directory may not be created. Putting in a <CreateFolder/> tag in the component should
    clear the ICE error, or you could move the component to another directory. Though I am not sure if this can resolve your issue but you can give a try to it.

     

    On an additional note, I would like to share some resources with you which might be helpful for you –

    ICE 18 ERROR: http://msdn2.microsoft.com/en-us/library/aa368942.aspx

     

    ICE20:

     

    ICE20 validates the standard dialogs and dialog requirements of an installation package having an authored user interface. Installation packages with an authored user interface have a Dialog table and the LIMITUI property is not set.

     

    If you have any dialogs, you need the standard set (e.g., FilesInUse) otherwise you get the ICE20 errors.

     

    ICE34
     

    ICE34 validates that each radio button on every RadioButtonGroup Control has a property in the Property column of the RadioButton table that specifies its radio button group. ICE34 validates that this property exists and is set to a default value in the Property table which is equal to one of the group's radio button values in the Value column of the RadioButton table.

    A radio button group must have a default for users to be able to select a choice using the TAB key. This is required for proper user accessibility.

     

    ICE34 reports missing tables.

     

    To fix the errors reported by this ICE, check the following:

    • That every RadioButton control entry without the indirect attribute set has a property listed in the Property column:
    • That every such property has at least one corresponding entry in the RadioButton table.
    • That every such property is defined in the Property table, with a value that is one of the choices from the RadioButton table.
    • That every property referenced in the Property column of a RadioButton control with the indirect attribute set is defined in the Property table.

     

    ICE44

     

    Checks that dialog events in the ControlEvent table (NewDialog, SpawnDialog, SpawnWaitDialog) reference valid Dialogs in the Dialog table.

     

    There is a SpawnDialog, SpawnWaitDialog, or NewDialog actions that has an argument that does not refer to a dialog box in the Dialog table.

     

    To fix this error, add an argument that is a key in the Dialog Table.

     

     

    Hope above helps.

     

    Thanks.

    Pooja.

    Thursday, February 14, 2008 10:23 PM
  • Thanks Poojak,

     

    for respon us so quickly.

     

    As you mention all these errors could be fixed easily because are in our MSI.

    But what we really want to know is what to do with the other warnings and errors. And those errors/warnings are from standard MSM/MSI packages made by Microsoft.

     

    The errors and warnings are from validations:

     

    ICE33

    ICE78

    ICE82

    ICE84

     

    Thanks
    Friday, February 15, 2008 8:28 AM
  • Hi,

     

    From the logs, I can see -

     

    ICE33 - is a warning. You can ignore this.

     

    ICE78 -

     

    ICE78 verifies that the AdvtUISequence table either does not exist or is empty. This is required because no user interface is allowed during advertising.

    To fix the error, either remove "Action1" from the table, or remove the table.

     

    ICE82 - is a warning. You can ignore this.

     

    ICE84 - is a warning. You can ignore them.

     

    As I mentioned earlier also, you can always ignore the warnings and move ahead with rest of the process.

     

     

    Thanks.

    Pooja.

    Friday, February 15, 2008 2:53 PM
  • Hi,

     

    as you say we can ignore all warnings.

     

    The only problem that we must fix are from ICE78. But the problem is still the same, because this error is inside owc10se.msi. It means a standard package from Microsoft.

     

    Then the question is, we can manipulate the Microsoft package?

     

    Thanks

     

    Friday, February 15, 2008 3:06 PM
  • Hi Miquel

    You are requested to only fix errors that are in your component. Any MSI/ICE error in components that are external to your product (For ex: a third party component of Microsoft's) you can call them out in your documentation/notes to the testing vendor.

    You will not be failed for these external issues.

     

    Hope that helps,

    Thanks,

    [Venkat]

     

    Friday, February 15, 2008 7:25 PM
  • Hi Miquel

    You are requested to only fix errors that are in your component. Any MSI/ICE error in components that are external to your product (For ex: a third party component of Microsoft's) you can call them out in your documentation/notes to the testing vendor.

    You will not be failed for these external issues.

     

    Hope that helps,

    Thanks,

    [Venkat]

     

    Friday, February 15, 2008 7:26 PM