error of updating an C# web service application by accessing a URL from MS installer command "msiexec" in C# VS 2010

169 views Asked by At

This question is related to my previous question.

I need to publish a C# application (that has been set up in IIS 6.0 and built in VS2010) to a desktop with win7.

I have set up IIS on my desktop well. Now I can install the application on my laptop by accessing the URL

  http://myDesktopName.domain.com/MyApp

pointing to a physical location in desktop

  e:\myPath\myApp\myAppService.svc

When I publish a new version of the web service, the application should get updated when I open it.

But, it gave me an error:

**the filename,directory name, or volume label syntax is incorrect**

After searching online, I found this error is normally caused by some unacccepted chars in the link. Here is the code that the msi (MS installer) needs to access and get the new version of the application.

  System.Diagnostics.Process.Start("msiexec", "/favmuso \"" + myurl + "\"");

here,

myurl is http://myDesktopName.domain.com/MyApp/MyAppSetup.msi

Here, http://myDesktopName/MyApp/ is the virtual directory set in IIS 6.0 on my desktop. I can access and download it from IE in my laptop without any problems.

But, when the application notified me that a new version is available for updating the old one, I clicked the pop-up ballon on the application icon and then I got the error:

 Error 123. The filename, directory name, or volume label syntax is incorrect.

If I try to access it from the C# code, I got the same error.

Then, I did a test by running

 msiexec **/favmuso** http://myDesktopName.domain.com/MyApp/MyAppSetup.msi /Lv mapp_msi.log

In the log file, i found :

 MSI (s) (80:DC) [18:04:33:089]: SECREPAIR: Failed to open the   

file:http://myDesktopName.domain.com/mypath/\myAppSdetup (10).msi for computing its hash. Error:123

 Error 123. The filename, directory name, or volume label syntax is incorrect.

Why my applcation setup file name was changed to

\myAppSdetup (10).msi

The "/favmuso" options can be found at

 https://technet.microsoft.com/en-gb/library/cc759262%28v=ws.10%29.aspx#BKMK_Install

Any help would be appreciated.

thanks

1

There are 1 answers

0
tuckerism On

So I noticed that you've asked this question elsewhere, and everyone was focused on the /favmuso piece of it.

I've been recently exeriencing this issue when trying to repair MSIs with a URL source when the original application was installed by SCCM 2012.

The workaround I found was to add a registry value at HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer. The value below causes the MSI to skip the problematic portion of the repair and move on.

Name: SecureRepairPolicy

Type: REG_DWORD

Value: 1

To be a bit safer, you look into setting the registry value to 2 and using a whitelist as described in this Microsoft article: https://support.microsoft.com/en-us/kb/2918614. (Ctrl+F "Steps to opt-out the affected programs".)