I'm sorry that I'm confusing you and that we aren't communicating well. I thought I answered that twice now. I'll try again. In your MSBuild file, you have to specify where the bootstrapper should get the pre-reqs. You want them to be downloaded. So you set the ComponentLocation attribute of the GenerateBootstrapper element in your msbuild project file to be "HomeSite" as described here: "ComponentsLocation: Specifies a location for the bootstrapper to look for installation prerequisites to install. This parameter can have the following values:: HomeSite: Indicates that the prerequisite is being hosted by the component vendor. Relative: Indicates that the preqrequisite is at the same location of the application. Absolute: Indicates that all components are to be found at a centralized URL. This value should be used in conjunction with the ComponentsUrl input parameter. If ComponentsLocation is not specified, HomeSite is used by default." If you also want your msi to be downloaded, you specify the location where the MSI is hosted using the ApplicationUrl attribute. I attached a sample project that uses the things above. It produces a single setup.exe (421k) that does the following:
* If WIndows Installer 3.1 is not installed (it is required by SQL Express), it downloads it from Microsoft and installs it. If .NET 2.0 is not installed, it downloads it from Microsoft and installs it. * If J# 2.0 is not installed, it downloads it from Microsoft and installs it. * If SQL Express is not installed, it downloads it from Microsoft and installs it. * It downloads "installer.msi" from http://localhost/installer.msi and runs it In case the attachment doesn't work, here are the contents: <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ItemGroup> <!-- Include the 'Product Code' for every package you want --> <BootstrapperFile Include="Microsoft.Net.Framework.2.0"> <ProductName>.NET Framework 2.0</ProductName> </BootstrapperFile> <BootstrapperFile Include="Microsoft.JSharp.2.0"> <ProductName>Microsoft Visual J# .NET Redistributable Package 2.0</ProductName> </BootstrapperFile> <BootstrapperFile Include="Microsoft.Sql.Server.Express.1.0"> <ProductName>SQL Server 2005 Express Edition</ProductName> </BootstrapperFile> <BootstrapperFile Include="Microsoft.Windows.Installer.3.1"> <ProductName>Windows Installer 3.1</ProductName> </BootstrapperFile> </ItemGroup> <Target Name="Build"> <GenerateBootstrapper ApplicationName="My Installer" ApplicationFile="installer.msi" ApplicationUrl="http://localhost/" BootstrapperItems="@(BootstrapperFile)" Culture="en" ComponentsLocation="HomeSite" CopyComponents="False" OutputPath="bin\" /> </Target> </Project> ________________________________ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of David Thielen Sent: Wednesday, December 06, 2006 3:27 PM To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] GenerateBootstrapper questions No, the oppisate. I want setup.exe to be very small and it then will download the needed installers and run them only if needed. And it will download them from the MS website. So the user runs setup.exe and then when running, if they don't have .NET framework installed, it downloads it from www.microsoft.com <http://www.microsoft.com/> and runs it. Thanks - dave David Thielen www.windwardreports.com 303-499-2544 x1185 Cubicle Wars - http://www.windwardreports.com/film.htm ________________________________ From: Wilson, Phil [mailto:[EMAIL PROTECTED] Sent: Wednesday, December 06, 2006 2:25 PM To: David Thielen; wix-users@lists.sourceforge.net Subject: RE: [WiX-users] GenerateBootstrapper questions You mean you want the download for Windows Installer, SQL Express, .NET Framework, J# etc to be all in one file? Just trying to understand..... Phil Wilson ________________________________ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of David Thielen Sent: Wednesday, December 06, 2006 1:15 PM To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] GenerateBootstrapper questions Hi; I think I'm not understanding something. I want the bootstrapper to give me a small setup.exe that will download things like the .NET framework only if needed on that user's computer. And I need the download to be a single file to make it easy. How can I build this? The examples I see all assume that the install programs for things like the .NET framework are downloaded with setup.exe which eliminates the whole purpose of it. Thanks - dave David Thielen www.windwardreports.com 303-499-2544 x1185 Cubicle Wars - http://www.windwardreports.com/film.htm ________________________________ From: Erv Walter [mailto:[EMAIL PROTECTED] Sent: Wednesday, December 06, 2006 12:07 PM To: David Thielen; wix-users@lists.sourceforge.net Subject: RE: [WiX-users] GenerateBootstrapper questions Some answers to your questions (sorry, not all): #1. The official documentation for GenerateBootstrapper (the MSBuild task) is http://msdn2.microsoft.com/en-us/library/ms164294.aspx. I don't know where the official documentation for the bootstrapper itself it. You don't need to make a package.xml file at all unless you are creating a redistributable package. If you need to do that, you put the HomeSite in the product.xml file. #2. Never tried it. Don't know if it is useful. #3. In your msbuild project you set the ApplicationFile attribute to the filename of your .msi on the GenerateBootstrapper task (see my sample in a previous email). It's not embedded. It sits side by side with the setup.exe. I believe you can have it be downloaded using the ApplicationUrl attribute (at least the documentation implies that), but I have not tested it. #4. The only things you can control are the name for your application (using the ApplicationName attribute). The rest of the UI is un-configurable. #5. The bootstrapper generates a setup.exe to sit beside your .msi (and any of your dependencies if you are not downloading them). You could use tools like PackageForTheWeb to pack them into a single file if you need to, or you might be able to have everything be downloaded including your .msi (see above) so that they only get the setup.exe. #6. You might be able to copy the existing SQL Express package and adjust the rules in its product.xml file to make it not be installed if SQL is already installed (you'll have to look at the product.xml and learn its syntax by a combination of insight and trial and error--I don't know of any documentation, but the format is pretty intuitive when you look at it). But you can't make dependecies "optional" for the user to decide with this bootstrapper. It doesn't support that. #7. I sent you a previous email with a sample msbuild project file. You put your list of dependencies in the BootstrapperItems ItemGroup. #8. No, it only supports either always downloaded or always local. #8b. If you are doing local, when you run the msbuild project, by default it will copy the files to the output directory in the proper directory structure. ________________________________ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of David Thielen Sent: Wednesday, December 06, 2006 12:07 PM To: wix-users@lists.sourceforge.net Subject: [WiX-users] GenerateBootstrapper questions Hi; I posted this also in the MS forums (no answer) and the MSDN managed newsgroups (useless answer). I am hoping someone here can help. First off, I have read the following: http://msdn.microsoft.com/msdnmag/issues/04/10/Bootstrapper/ http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvs05/ html/custom_pkg.asp http://msdn2.microsoft.com/en-us/library/ms164294.aspx http://www.gotdotnet.com/workspaces/workspace.aspx?id=ddb4f08c-7d7c-4f44 -a009-ea19fc812545 Sorry for all the questions - there is a lot of content about using the bootstrapper to do X but none I could find about all the properties for anything other than the samples shown. And unfortunately none showed requiring J# (a prerequisite for us). After reading the above (and some other pages) I have the following questions about using this: 1) Where is complete documentation for GenerateBootstrapper - including what to put in the package.xml to download from Microsoft (not included in the package and not download from us but downloaded from MS if needed): a) .NET 2.0 framework b) .NET 2.0 language pack if appropiate c) J# 2.0 framework d) J# 2.0 language pack if appropiate e) whatever windows setup a wix built msi needs 2) Is there anywhere to get the Bootstrapper Manifest Generator and is it worth using? The download link at http://www.gotdotnet.com/workspaces/workspace.aspx?id=ddb4f08c-7d7c-4f44 -a009-ea19fc812545 does not work. 3) How do I set it to run our msi installer when it is done with the prerequisites? And is it embedded in the created setup.exe or downloaded at that time? If an option, which is recomended. 4) How do I put out name and text in the dialogs for setup.exe? 5) Is this a single file? Or is this a set of files that we need to write an installer for? 6) Is there a way to make Sql Server Express an option and not show it as an option if Sql Server regular or express (not only express) is already installed? 7) Are there any samples of how we should set up our part of package.xml and the rest of our settings - both in our msbuild.proj file and in the xml files that list what goes in to the bootstrapper. 8) Can this be set so that it will look first on disk for the needed install files and then on MS' website so if we put this all on disk we can use the same bootstrapper? 8b) And if so, where do we get those files and what is the directory structure? I hope with answers to the above I will have at most 1 - 2 followup questions. thanks - dave David Thielen www.windwardreports.com 303-499-2544 x1185 Cubicle Wars - http://www.windwardreports.com/film.htm
bootstrapper.proj
Description: bootstrapper.proj
------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users