Windows Develop Bookmark and Share   
 index > ClickOnce and Setup & Deployment Projects > click installer fails to run directX setup on client machine.
 

click installer fails to run directX setup on client machine.

Hi,

i have VS2008 SP1 on my host(Vista) and Virtual m/c(Win XP Pro SP2).
i am using click once installer to publish my project the url  which i gave in publish location textbox "http://ComputerName//AppName"  i.e http://rach//Tobi.
my publish got succeeded and it was running good on my XP.
In prerequisite i selected .Net Client profile and  DirectX setup(299 kb) file. so my installer size was 11 Mb. checked download from vendor's website.
But when i tried to send the installer  to one of my friends m/c. it gives the following error.


The following properties have been set:
Property: [AdminUser] = true {boolean}
Property: [ProcessorArchitecture] = Intel {string}
Property: [VersionNT] = 6.0.1 {version}
Running checks for package 'DirectXsetUp', phase BuildList
The following properties have been set for package 'DirectXsetUp':
Running checks for command 'DirectXsetUp\dxwebsetup_directx_web_setup_.exe'
Result of checks for command 'DirectXsetUp\dxwebsetup_directx_web_setup_.exe' is 'Install'
'DirectXsetUp' RunCheck result: Install Needed
Running checks for package '.NET Framework Client Profile', phase BuildList
Reading value 'Install' of registry key 'HKLM\SOFTWARE\Microsoft\NET Framework Setup\DotNetClient\v3.5'
Unable to read registry value
Not setting value for property 'DotNetFxClient35InstallSuccess'
The following properties have been set for package '.NET Framework Client Profile':
Running checks for command 'DotNetFx35Client\DotNetFx35ClientSetup.exe'
Skipping ByPassIf because Property 'DotNetFxClient35InstallSuccess' was not defined
Result of running operator 'ValueEqualTo' on property 'AdminUser' and value 'false': false
Result of running operator 'ValueExists' on property 'Version9x': false
Result of running operator 'VersionLessThan' on property 'VersionNT' and value '5.1.2': false
Result of running operator 'VersionEqualTo' on property 'VersionNT' and value '5.2.0': false
Result of running operator 'ValueEqualTo' on property 'ProcessorArchitecture' and value 'IA64': false
Result of checks for command 'DotNetFx35Client\DotNetFx35ClientSetup.exe' is 'Install'
'.NET Framework Client Profile' RunCheck result: Install Needed
EULA for components '.NET Framework Client Profile' was accepted.
Installation of components 'DirectXsetUp' was accepted.
Copying files to temporary directory "C:\Users\RAC~1\AppData\Local\Temp\VSD15E2.tmp\"
Downloading files to "C:\Users\RAC~1\AppData\Local\Temp\VSD15E2.tmp\"
(06-10-2009 12:53:16) Downloading 'DirectXsetUp\dxwebsetup_directx_web_setup_.exe' from 'http://rachanasingh-pc/Tobi/DirectXsetUp/dxwebsetup_directx_web_setup_.exe' to 'C:\Users\RACHAN~1\AppData\Local\Temp\VSD15E2.tmp\'
Download completed at 06-10-2009 12:53:21
Downloading failed with HRESULT=-2146697210

Why it is searching my m/c local path on my friends PC. What should be the correct url to be given in Publish Location Textbox so that when i upload the setUp.exe file of my installer on the web it should run successfully on any of the client m/c ?
Can you please tell where i am going wrong.
Thanks..
Csharp_gal  Tuesday, October 06, 2009 9:54 AM

Hi Csharp_gal,

Two things.

1) It looks to me like they are having a problem installing the DirectX prerequisite. How did you create this prerequisite?

2) Did you know you can deploy the DirectX dll's locally instead of as a prerequisite? Then you can control what version they use for your application, and not have any crossover problems with any other versions that are installed or get installed. This is how we deploy DirectX at my company.

You have to track down the dll's that your application uses and only include those dll's. So we figured that out, then we took the dll's from the specific version we wanted, and put them in a folder called referenced_dlls under our main project.

We deleted the references to DirectX, and re-created them, but instead of pulling them out of .NET or the GAC, we pointed it at the files in \referenced_dlls.

On the dll's in referenced_dlls, set the build action to "none" and "copy to output directory" to "do not copy". When you add the references, though, set "copy local" to true.

You can do this and build and see if you missed any, and iterate until you get them all.

RobinDotNet


Click here to visit my ClickOnce blog!
Microsoft MVP, Client App Dev
RobinDotNet  Tuesday, October 06, 2009 8:56 PM
Hi Robindotnet,

 Thanks for replying.

 i downloaded directX set up exe(298 kb) from internet and using bootstrap Manifest Generator i added it in package. When i open my VS  den i can c it in my prerequisite listbox. so i checked it and published it. my Click once installer was ready. Using Filezilla i put it on FTP.

Now when my friend is trying to run the installer set up after downloading from url given in ftp, it is searching the directX setup exe file on her desktop.
And giving error while installing directX on her m/c.

Why is it so??
Csharp_gal  Wednesday, October 07, 2009 7:40 AM

Which radio button did you select on the prerequisites screen? Did you select download-from-same-location-as-my-application?

Also, are you deploying the .NET Framework, or does your friend have it installed already?

RobinDotNet


Click here to visit my ClickOnce blog!
Microsoft MVP, Client App Dev
RobinDotNet  Wednesday, October 07, 2009 4:04 PM
By default it is selected Download prerequisites from the components vendor's website. i didn't changed it.
Yes i am deploying .NET framework also that's why i checked  .Net Client profile  from the prerequisite listbox.


Csharp_gal  Wednesday, October 07, 2009 5:16 PM
So you can't build your own prerequisite of DirectX and include it in your deployment and ALSO have it get it from the vendor's website unless you handle that. What did you put in for the URL in the bootstrapper manifest generator?

If you put the installation for DirectX in a folder on your server, and set the URL in the BMG to point at that file, it will treat it like a vendor's website and then you can use that setting for all of your prerequisites.

If you just want to deploy it with your app and have it install, you'll need to also deploy the .NET Framework that you are using from your site.

(It would be nice if you could get different prerequisites from different places, wouldn't it?)

RobinDotNet
Click here to visit my ClickOnce blog!
Microsoft MVP, Client App Dev
RobinDotNet  22 hours 48 minutes ago

You can use google to search for other answers

Custom Search

More Threads

• Failing to connect to local host (Vista)
• Problem occured while applying the launch condition check
• ClickOnce: two instances of application
• Srvice not visible when installed
• Create Trial Version Installer
• ClickOnce Deployment Questions
• Upgrade application using setup project (VS 2003)
• MSI Not Found
• Open clickonce app from another .net app
• How to delete last 6 months data using storedprocedure where table does'nt contains timestamp field