Setup fails when user entry contains spaces (was Setup fails on Windows Server 2003)


On some (not all) Windows Server 2003 configurations the setup fails with the following error:

Exception occured while initializing the installation:
System.IO.FileNotFoundException: Could not load file or assembly 'file:///C:\WINDOWS\system32\and' or one of its dependencies. The system cannot find the file specified.

The install.log file (in C:\Documents and Settings\jlchereau\Local Settings\Temp\VSDXXXX.tmp where XXXX may vary) includes the following trace:

Result of checks for command 'vcredistx86\vcredistx86.exe' is 'Install'
'Visual C++ Runtime Libraries (x86)' RunCheck result: Unknown
Launching Application.
Using MsiInstallProduct with package path 'D:\Downloads\VelodocXP\VelodocXPSetup.msi' and command line ''
MsiInstallProduct returned '1603'

The assembly binding log viewer (fuslogvw.exe) includes the following trace:

Assembly Binder Log Entry (28/01/2008 @ 17:39:22) ***

The operation failed.
Bind result: hr = 0x80070002. The system cannot find the file specified.

Assembly manager loaded from: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorwks.dll
Running under executable C:\WINDOWS\system32\MsiExec.exe
--- A detailed error log follows.

=== Pre-bind state information ===
LOG: User = MEMBA\jlchereau
LOG: Where-ref bind. Location = C:\WINDOWS\system32\and
LOG: Appbase = file:///C:/WINDOWS/system32/
LOG: Initial PrivatePath = NULL
LOG: Dynamic Base = NULL
LOG: Cache Base = NULL
LOG: AppName = NULL

Calling assembly : (Unknown).

LOG: This bind starts in LoadFrom load context.
WRN: Native image will not be probed in LoadFrom context. Native image will only be probed in default load context, like with Assembly.Load().
LOG: No application configuration file found.
LOG: Using host configuration file: C:\DOCUME~1\JLCHER~1\LOCALS~1\Temp\CFG263A.tmp
LOG: Using machine configuration file from C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\config\machine.config.
LOG: Attempting download of new URL file:///C:/WINDOWS/system32/and.
LOG: All probing URLs attempted and failed.

C:/WINDOWS/system32/and is not an application file.
This does not seem to affect installations on Windows XP.

This error is being researched and we will post more information soon.


rvbcrs wrote Feb 6, 2008 at 6:05 PM

I'm getting the same problem on a Windows Home Server (Windows 2003 SBS). Is there any progression on this issue?

jlchereau wrote Mar 16, 2008 at 6:39 PM

The issue is now fixed and will soon be released with version 1.1.
It is not a problem with Windows Server 2003 but with the way custom action data handle spaces.
The solution is given at http://msdn2.microsoft.com/en-us/library/2w2fhwzz.aspx:

In setup custom actions, data should be passed as:
/NAME = VALUE if not a directory and value has no space
/NAME = "VALUE" if spaces are expected in a avlue which is not a directory
/NAME = "VALUE\" if the expected value is a directory

To fix the issue before the fix is actually released, you can regenerate the setup after modifying the custom action data in XP_Setup -> View -> Custom Actions -> Install -> Primary Output for Memba.Install (active) -> Properties Window , replace:




wrote Mar 16, 2008 at 6:49 PM

wrote Mar 16, 2008 at 7:02 PM

wrote Feb 13, 2013 at 5:39 PM

wrote May 16, 2013 at 12:08 AM

wrote May 16, 2013 at 12:08 AM

wrote Jun 14, 2013 at 7:26 AM