First of all, make sure you are using the latest MSM file from National, not
the one that ships with Measurement Studio 6.0. Never could get that the
original one to compile with Wise or InstallShield. You can find the
updated MSM's in a knowledgebase article at:
http://digital.ni.com/public.nsf/websearch/36C5E45E15A6862D86256B79005F89BB?
OpenDocument
If the link fails, you can find it using the document ID, 2HSDJOX0 as a
search target. The article talks about problems related to .NET, but the
merge modules work for 6.0 as well.
Second, the OCX in the merge module is not the latest CWUI.OCX from
National. You have to get this one via FTP at:
ftp://ftp.ni.com/support/compworks/windows/Hotfixes/Annotations/
That link contains HotFix2OD3ST7N.zip with a 6.00.597 version of CWUI.OCX
instead of the 6.00.594 in the Merge Module in the Knowledgebase article.
The 597 version fixes some memory leak problems. Have not found an updated
Merge Module with a 597 OCX. I used Wise For Windows Installer Pro v. 4.21
to edit the 594 Merge Module & replace the 594 OCX in it with the 597 OCX.
Wasn't hard. I'd post it, but I'm not sure National would like users
posting updates related to their products.
Third, look for HotFix2OKBJ0Q6 in the Knowledgebase or use this link:
http://digital.ni.com/public.nsf/3efedde4322fef19862567740067f3cc/293e8e4545
99f54186256c2b00576943?OpenDocument
It contains an upgraded library for MStudio 6.0 to fix more memory leaks
related to using the 594 OCX & 6.0 libs. Not part of your original
question, but you'll probably want it anyway.
Fourth, to answer your original question about registering for all users
when using CWUI_OCX.MSM, I believe installing for one user vs. all users is
controlled by properties in your script. Wise has a property called
ApplicationUsers, while the Windows Installer has one called ALLUSERS. Wise
will default ApplicationUsers to AllUsers, but the User Information Dialog
has an event associated with the Next button that sets ALLUSERS based on the
current value of ApplicationUsers when the dialog exits. ApplicationUsers
is controlled by a radio button. If you don't use the dialog box, ALLUSERS
does not get set & is left at the default of NULL which is an install only
for the current user. If you aren't using that dialog box, make sure you
set ALLUSERS in your script. Finally, you can control the ALLUSERS property
on the Windows Installer command line directly, if you need to:
msiexec /i CD:\setup.msi ALLUSERS=2
Hope these tips are useful for you.
Matt Rhodes
Physical Acoustics Corp.