Bootstrapper build results in package file being downloaded twice. Once by setup.exe, once by msiexec.
-
Thursday, July 30, 2009 5:27 PMHi,
I asked this question twice in the ClickOnce Setup and Deployment forum, but was answered twice only by someone who did not appear to understand the question I was asking. I think it's worded pretty clearly.
I use the msbuild GenerateBootstrapper task to create a bootstrapper package. The package builds fine, but here's what happens when it is run on an end user's machine:
- User clicks on the Setup.exe link in their browser
- Setup.exe downloads and starts executing
- Setup.exe runs prerequisite checks, downloads prerequisite packages and installs them
- Setup.exe downloads my product installer MSI package
Everything is fine so far, but then...
- Setup.exe launches msiexec with a URL parameter for the package to install - it specifies the remote http:// URL as the package path.
This results in msiexec downloading the package *again*. The following lines are in the installation log for my product:
******* Product: http://server/product.msi
******* Action:
******* CommandLine: **********
MSI (c) (58:DC) [13:47:14:462]: Using WinHttp to perform URL download
MSI (c) (58:DC) [13:47:14:462]: File path is a URL. Downloading file. . .
So - my question is, why does the bootstrapper download my product MSI package, but never use it - instead passing the URL to msiexec. Have I incorrectly specified something in the build task for the bootstrapper?
Here is the GenerateBootstrapper task:
<Project ToolsVersion="3.5" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<BootstrapperFile Include="Microsoft.Windows.Installer.3.1" />
...other prerequisites...
</ItemGroup>
<Target Name="Bootstrapper">
<GenerateBootstrapper
ApplicationName="Product Name"
ApplicationFile="$(ProductMsiName)"
BootstrapperItems="@(BootstrapperFile)"
ComponentsLocation="HomeSite"
Culture="en"
CopyComponents="True"
OutputPath="$(OutputFolderPath)"
Path="$(BootstrapperFolderPath)"
SupportUrl="http://server/page.html" />
</Target>
</Project>
I then set the base url for Setup.exe using:
Setup.exe -url=http://server/baseurl/
Thanks for taking the time to read this.
Ross- Changed Type Nancy ShaoModerator Monday, August 10, 2009 4:51 AM OP does not follow up
All Replies
-
Tuesday, August 04, 2009 8:02 AMModeratorHi Ross,
Could you please post your whole MSbuild file? It's hard to indicate the cause based on your information. And I would suggest you try to use Visual Studio to deploy your project to check whether it also appear this issue.
Best Regards,
Nancy
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
Welcome to the All-In-One Code Framework! If you have any feedback, please tell us. -
Monday, August 10, 2009 4:02 AMModeratorHi, We are changing the issue type to “General Discussion” because you have not followed up with the necessary information. If you have more time to look at the issue and provide more information, please feel free to change the issue type back to “Question” by opening the Options list at the top of the post editor window, and changing the type. If the issue is resolved, we will appreciate it if you can share the solution so that the answer can be found and used by other community members having similar questions. Thank you! Best Regards, Nancy
Please remember to mark the replies as answers if they help and unmark them if they provide no help.
Welcome to the All-In-One Code Framework! If you have any feedback, please tell us. -
Wednesday, October 07, 2009 7:37 PMHi,
I have built my setup program using a deployment project from Visual Studio 2008 and I have the same problem that vectif reported. Both the bootstrapper and msiexec.exe download my msi. Here is a filtered capture from NetworkMonitor:
352 15.278320 TimeTravelerSetup_x64(2).exe {HTTP:20, TCP:19, IPv4:18} 192.168.2.189 205.178.152.38 HTTP HTTP:Request, GET /packages/x64/1.3.2/TimeTravelerSetup_x64.msi
14854 73.125000 msiexec.exe {HTTP:29, TCP:28, IPv4:18} 192.168.2.189 205.178.152.38 HTTP HTTP:Request, GET /packages/x64/1.3.2/TimeTravelerSetup_x64.msi
I can provide any information to help troubleshoot this.
Thanks,
Nathalie
Nathalie

