[xsd-users] PATH in xsd installer

Benjamin Schindler bschindler at inf.ethz.ch
Tue Jun 15 05:07:10 EDT 2010


Hi Boris

On 06/15/2010 01:12 PM, Boris Kolpackov wrote:
> Hi Benjamin,
> 
> Benjamin Schindler <bschindler at inf.ethz.ch> writes:
> 
>> I just tried out the installer so it can replace our built-in copy of
>> dll's, libs etc of xsd. The problem I have is that the installer by
>> default sets /codesyntehsispath/bin to PATH and not bin64.
>>
>> Our project is 64bit and would not work with this default
> 
> The Windows .msi installer has the following layout: The bin/ directory
> contains xsd.exe (the XSD compiler itself) which is always a 32-bit
> application on Windows plus the 32-bit Xerces-C++ DLLs. The xsd.exe
> binary is statically-linked and does not depend on the the Xerces-C++
> DLLs. The bin64/ directory contains the 64-bit Xerces-C++ DLLs.
> 
> Unfortunately, Windows does not provide good support for having both 
> 32-bit and 64-bit libraries in the PATH environment variable (i.e.,
> there is no PATH64). So in the .msi installer we only add the bin/
> directory to PATH.  
> 
> 
>> Would there be the possibility to create separate installers for 64bit
>> 32bit or could there be some other solution?
> 
> Yes, it is possible to create a special version of the installer that
> only contains the 64-bit libraries and adds bin64/ instead of bin/ to
> PATH. The other option would be to add bin64/ in addition to bin/
> to PATH; this way if you don't install any 32-bit libraries the 64-bit
> versions will be used automatically. Yet another option would be to
> have a GUI element in the installer that allows you to control which
> versions of the libraries (32 or 64)  are preferred. I think I like
> the last option the best. Would that work for you?

All options would work for me.
The only thing you have to make sure: the xsd.exe probably uses the
dll's, so the 32bit dll's must always be present. Also, if bin doesn't
go into PATH, typing xsd.exe wouldn't work, so I'd probably put both
path's in or ship a 64bit xsd.exe...

But in the end - what works best for you. I just don't want my users to
force editing environment variables before things work

Cheers
Benjamin

> 
> Boris



More information about the xsd-users mailing list