The msm task fails if the <properties> tag is not
included. Adding a <properties> tag with a bogus name
allows the task to complete.
The <properties> tag should not be required for the msm
task to complete.
Here is the error with out a properties section:
BUILD FAILED
Validation Error: The element
'NAnt.Contrib.Tasks.Msi.MsiTask:msm' has invalid child
element 'NAnt.Contrib.Tasks.Msi.MsiTask:binaries'.
Expected 'NAnt.Contrib.Tasks.Msi.MsiTask:properties'.
An error occurred at , (5, 4).
Logged In: YES
user_id=892481
Ok, I figured out that some of the summary table rows are
set from properties, so it is required.
It would be nice for the documentation to list where
properties are stored in other places besides the properties
table.
Logged In: YES
user_id=892481
Ok, this is a real problem. Orca flags these properties as
not allowed in an MSM file, and for good reason.
If these are populated, they overwrite the same fields when
they are merged into the msi. In our scenario, we have a
lot of msm's generated by nant; when we create an msi it
get's the product name of the last msm merged.
There should be another way to fill out the summary table
rows without using these propertys.
Here is the Orca report:
ICEM04 ERROR An empty FeatureComponents table is required in
a Merge Module.
ICEM10 ERROR The property 'ProductName' is not allowed in a
Merge Module
ICEM10 ERROR The property 'ProductVersion' is not allowed in
a Merge Module
ICEM10 ERROR The property 'Manufacturer' is not allowed in a
Merge Module
ICE03 ERROR Invalid Filename; Table: Shortcut, Column: Name,
Key(s): S__uaLogViewer.exe.1EA45C4F_6242_4B5E_8E36_6818C3C45488
ICE03 ERROR _Validation table: Data in KeyTAble column is
incorrect; Table: Control, Column: Dialog_, Key(s):
LicenseAgreementDlg.AgreementText
ICE03 ERROR Not a valid foreign key; Table: Control, Column:
Control_Next, Key(s): LicenseAgreementDlg.AgreementText
ICE60 WARNING The file _C87C9B55BBAF4075A648320883220D78 is
not a Font, and its version is not a companion file
reference. It should have a language specified in the
Language column.
ICE60 WARNING The file _E7F63962FA18484D9586928F158893B6 is
not a Font, and its version is not a companion file
reference. It should have a language specified in the
Language column.
Logged In: YES
user_id=473974
I removed the requirement of the <properties> element. I
also added a <summaryinformation> element to populate the
summary information stream. The stream will be populated
from the specified properties, if they exist. The
<summaryinformation> element just allows the user to
override values, if they desire.