Re: [WiX-users] Getting rid of the warnings when using the VC8 CRTmerge modules

2007-07-31 Thread John Hall
 From reading blogs on the web, the way to add the merge modules for
 the VC8 CRT libraries is shown in the WXS code below.  But I get a lot
 of warnings in the process.
 
 We are using Visual Studio 2005 SP1 and Wix v3.0.2925
 
 What is the reason for all the warnings?
 
 What can be done to fix the warnings?  Or is there a bug/problem with
 the CRT merge modules?

Francois,

As far as I know, there is no way around the warnings.

I've taken an approach mentioned by someone else on this list, to
disable most ICE warnings normally, but create a separate project
configuration with the warnings enabled that defines a preprocessor
variable 'Verify' and has all the merge modules removed, i.e.

  ?ifndef Verify?
  MergeRef Id=Microsoft_VC80_CRT_x86.msm /
  MergeRef Id=policy_8_0_Microsoft_VC80_CRT_x86.msm /
  ?endif ?

Cheers,
John

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Getting rid of the warnings when using the VC8 CRTmerge modules

2007-07-31 Thread Mike Dimmick
The reason for the warnings is that the VS CRT merge modules aren't
particularly well authored. A validation run on the merge modules would have
revealed these problems to the authors at Microsoft.

Windows Installer databases are really property databases - not using a
fixed schema, just a bunch of properties for each row - but at the same
time, have a fixed schema declared in the _Validation table. The actual
package-building features are happy to allow you to insert anything you like
anywhere. Only post-validation with the ICEs reveals where the resulting
output doesn't match the declared schema. The names of the identifiers are
longer than the length supported for an identifier, for several of the
identifiers listed.

As for SxsInstallCA/SxsUninstallCA, these should normally have been
modularized, i.e. their identifiers suffixed with the module's GUID, so that
there wasn't an identifier clash between modules or between the module and
the outermost install. However, given what this does - install to the
side-by-side Win32 assembly store - it probably would have been hard to
ensure it only did the work from the current module rather than for all
modules, so it presumably wasn't modularized so that it only runs once.

There's some reason that these modules use custom actions to install to the
side-by-side assembly store, rather than the built-in functionality (on
Windows XP and Windows Server 2003 - the built-in functionality is used on
Windows Vista).

I'm not sure where the InstallExecuteSequence (etc) stuff is coming from - I
can't see these identifiers listed in the ModuleInstallExecuteSequence in
the copy of DebugCRT MSM that I have. I will note that you shouldn't be
distributing the debug CRT outside your organization (only for internal
testing), but the release CRT MSMs have the same problem.

-- 
Mike Dimmick

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Francois
Retief
Sent: 31 July 2007 10:28
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Getting rid of the warnings when using the VC8 CRTmerge
modules


Hello,

From reading blogs on the web, the way to add the merge modules for the VC8
CRT libraries is shown in the WXS code below.  But I get a lot of warnings
in
the process.

We are using Visual Studio 2005 SP1 and Wix v3.0.2925

What is the reason for all the warnings?

What can be done to fix the warnings?  Or is there a bug/problem with the
CRT
merge modules?

Cheers
  Francois

?xml version=1.0 encoding=UTF-8?
Wix xmlns=http://schemas.microsoft.com/wix/2006/wi;
  Product Id=d1a9a77e-0717-404e-9d84-eb19ba6032a0 Name=MyWixTestApp
Language=1033 Version=1.0.0.0
   Manufacturer=me
UpgradeCode=53518b27-3cb6-4224-8614-9a74207ccbf9
Package InstallerVersion=200 Compressed=yes /
Media Id=1 Cabinet=WixProject1.cab EmbedCab=yes /
   
Directory Id=TARGETDIR Name=SourceDir
  Directory Id=ProgramFilesFolder
Directory Id=MyCompanyFolder Name=MyCompany
  Directory Id=INSTALLDIR Name=MyProduct-1.x
Component Id=ProductComponent
Guid=b9396cba-4878-4413-b81b-4ec1ace56eeb
  !-- TODO: Insert your files, registry keys, and other
resources here. --
  File Id=ProductExeFile
Source=$(var.ConsoleApplication1.TargetPath) /
/Component
  /Directory
/Directory   
  /Directory
  Merge Id=CRT SourceFile=C:\Program Files\Common Files\Merge
Modules\Microsoft_VC80_DebugCRT_x86.msm
 Language=1033 DiskId=1 /
  Merge Id=CRT Policy SourceFile=C:\Program Files\Common Files\Merge
Modules\policy_8_0_Microsoft_VC80_DebugCRT_x86.msm
 Language=1033 DiskId=1 /
/Directory

Feature Id=ProductFeature Title=MyTestApp Level=1
  ComponentRef Id=ProductComponent /
  MergeRef Id='CRT' /
  MergeRef Id='CRT Policy' /
/Feature
  /Product
/Wix

-- Build started: Project: ConsoleApplication1, Configuration: Debug Any
CPU --
ConsoleApplication1 -
C:\workspace\WixProject1\ConsoleApplication1\bin\Debug\ConsoleApplication1.e
x
e
-- Build started: Project: WixProject1, Configuration: Debug Any CPU
--
C:\Program Files\Windows Installer XML v3\bin\candle.exe
-dDebug -dDevEnvDir=C:\Program Files\Microsoft Visual Studio
8\Common7\IDE\\ -dSolutionDir=C:\workspace\WixProject1\ -dSolutionExt=.sln
-dSolutionFileName=WixProject1.sln -dSolutionName=WixProject1
-dSolutionPath=C:\workspace\WixProject1\WixProject1.sln
-dConsoleApplication1.Configuration=
-dConsoleApplication1.FullConfiguration=
-dConsoleApplication1.Platform=
-dConsoleApplication1.ProjectDir=C:\workspace\WixProject1\ConsoleApplication
1
\ -dConsoleApplication1.ProjectExt=.csproj
-dConsoleApplication1.ProjectFileName=ConsoleApplication1.csproj
-dConsoleApplication1.ProjectName=ConsoleApplication1
-dConsoleApplication1.ProjectPath=C:\workspace\WixProject1\ConsoleApplicatio
n
1\ConsoleApplication1.csproj