Re: [WiX-users] regasm in wix?
You need to fill in the Registry table with the appropriate values. You can use either ProgId, Class & Co. (which will fill in the Registry table behind the scenes when advertisement is turned off) or you can directly use Registry elements. Note, there is a good chance that as a .NET COM DLL you'll have a couple extra registry keys that need to be set beyond just what the ProgId and Class elements setup for you. If you are not sure what registry keys need tbe set, you can either use tallow to generate a fragment from your DLL and take a look at that, or you can use 'regasm /tlb /reg PATH.TO.commandlib.dll' to create a PATH.TO.commandlib.reg file which you can look at with a text editor to understand what needs to be set. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Christer Solskogen Sent: Friday, December 15, 2006 12:28 AM To: wix-users@lists.sourceforge.net Subject: [WiX-users] regasm in wix? Our application requires that one dll is registert using regasm. How do I do that in wix3? I was under the impression that just using would do it, but with the handful of things I tried I did not get it to work. Any pointers please? The command I need it to run is regasm /tlb PATH.TO.commandlib.dll? -- chs - 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=DEVDE V ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users - 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
Re: [WiX-users] GenerateBootstrapper questions
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: http://schemas.microsoft.com/developer/msbuild/2003";> .NET Framework 2.0 Microsoft Visual J# .NET Redistributable Package 2.0 SQL Server 2005 Express Edition Windows Installer 3.1 http://localhost/"; BootstrapperItems="@(BootstrapperFile)" Culture="en" ComponentsLocation="HomeSite" CopyComponents="False" OutputPath="bin\" /> 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 d
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.c
Re: [WiX-users] Need recomendation - including .NET redist
P.S. Someone may have already posted this, but the documentation for the GenerateBootstrapper task is here: http://msdn2.microsoft.com/en-us/library/ms164294.aspx You'll want to look at the documentation for the ComponentsLocation attribute at a minimum so you can decide if you want the bootstrapper to look for the prereqs in the local folder or if you want it to download them. From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Erv Walter Sent: Tuesday, December 05, 2006 3:53 PM To: David Thielen; wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Need recomendation - including .NET redist No, you don't have to use VS to make your MSI. The VS 2005 bootstrapper can be used with any MSI that you make ahead of time (e.g. using WiX). There's not good GUI support for this model, but it works. You just need to make an MSBuild file yourself. Here is our simple MSBuild file that makes a bootstrapper for our MSI (which needs .NET 2.0): http://schemas.microsoft.com/developer/msbuild/2003 <http://schemas.microsoft.com/developer/msbuild/2003> "> .NET Framework 2.0 Note, you can find additional dependecy choices in C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\*. You need to find the depency you want and look in it's product.xml file to find the Product code to use (e.g. "Microsoft.JSharp.2.0" for J# 2.0). From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Erv Walter Sent: Tuesday, December 05, 2006 11:12 AM To: David Thielen; wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Need recomendation - including .NET redist Visual Studio also includes a bootstrapper that can install your prerequisites and then launch your setup. It can get the prereqs from your local CD, or if you are mostly a downloaded product, it can download the prereqs from the official microsoft site when/if they are needed. From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Michael Osmond Sent: Monday, December 04, 2006 8:33 PM To: David Thielen; wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Need recomendation - including .NET redist Dave, You could have a look at the "Microsoft Component Installer" (PSetup). It provides a bootstrap that will install your redistributables and then your app. The redistributables can be got from local source or the web. http://msdn2.microsoft.com/en-us/library/ms994369.aspx Michael From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of David Thielen Sent: Tuesday, 5 December 2006 12:03 PM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Need recomendation - including .NET redist Hi; We have had feedback from 4 potential customers that having .NET 2.0 as a prerequisite with the message taking them to the download made our installer "too difficult and too complicated" (and note - these are programmers!) So we need to have installing the .NET framework (and J# redist) as an automatic part of our install. So my questions are: 1) Is it better to have the redist in our install, or have it that when they click Next it downloads it and runs it automatically? 2a) If it's include it, anything special we have to do to have this in our installer? 2b) If it's download and run, how do we set that up to go? thanks - dave - 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
Re: [WiX-users] Need recomendation - including .NET redist
No, you don't have to use VS to make your MSI. The VS 2005 bootstrapper can be used with any MSI that you make ahead of time (e.g. using WiX). There's not good GUI support for this model, but it works. You just need to make an MSBuild file yourself. Here is our simple MSBuild file that makes a bootstrapper for our MSI (which needs .NET 2.0): http://schemas.microsoft.com/developer/msbuild/2003 <http://schemas.microsoft.com/developer/msbuild/2003> "> .NET Framework 2.0 Note, you can find additional dependecy choices in C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\*. You need to find the depency you want and look in it's product.xml file to find the Product code to use (e.g. "Microsoft.JSharp.2.0" for J# 2.0). From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Erv Walter Sent: Tuesday, December 05, 2006 11:12 AM To: David Thielen; wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Need recomendation - including .NET redist Visual Studio also includes a bootstrapper that can install your prerequisites and then launch your setup. It can get the prereqs from your local CD, or if you are mostly a downloaded product, it can download the prereqs from the official microsoft site when/if they are needed. From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Michael Osmond Sent: Monday, December 04, 2006 8:33 PM To: David Thielen; wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Need recomendation - including .NET redist Dave, You could have a look at the "Microsoft Component Installer" (PSetup). It provides a bootstrap that will install your redistributables and then your app. The redistributables can be got from local source or the web. http://msdn2.microsoft.com/en-us/library/ms994369.aspx Michael From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of David Thielen Sent: Tuesday, 5 December 2006 12:03 PM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Need recomendation - including .NET redist Hi; We have had feedback from 4 potential customers that having .NET 2.0 as a prerequisite with the message taking them to the download made our installer "too difficult and too complicated" (and note - these are programmers!) So we need to have installing the .NET framework (and J# redist) as an automatic part of our install. So my questions are: 1) Is it better to have the redist in our install, or have it that when they click Next it downloads it and runs it automatically? 2a) If it's include it, anything special we have to do to have this in our installer? 2b) If it's download and run, how do we set that up to go? thanks - dave - 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
Re: [WiX-users] Need recomendation - including .NET redist
Visual Studio also includes a bootstrapper that can install your prerequisites and then launch your setup. It can get the prereqs from your local CD, or if you are mostly a downloaded product, it can download the prereqs from the official microsoft site when/if they are needed. From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Michael Osmond Sent: Monday, December 04, 2006 8:33 PM To: David Thielen; wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Need recomendation - including .NET redist Dave, You could have a look at the "Microsoft Component Installer" (PSetup). It provides a bootstrap that will install your redistributables and then your app. The redistributables can be got from local source or the web. http://msdn2.microsoft.com/en-us/library/ms994369.aspx Michael From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of David Thielen Sent: Tuesday, 5 December 2006 12:03 PM To: wix-users@lists.sourceforge.net Subject: [WiX-users] Need recomendation - including .NET redist Hi; We have had feedback from 4 potential customers that having .NET 2.0 as a prerequisite with the message taking them to the download made our installer "too difficult and too complicated" (and note - these are programmers!) So we need to have installing the .NET framework (and J# redist) as an automatic part of our install. So my questions are: 1) Is it better to have the redist in our install, or have it that when they click Next it downloads it and runs it automatically? 2a) If it's include it, anything special we have to do to have this in our installer? 2b) If it's download and run, how do we set that up to go? thanks - dave - 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
[WiX-users] Installing a Service with Varying Dependencies
We're struggling with a problem, and I'm curious if anyone has any creative solutions they can think of. We have a windows service that our MSI installs. This service does some things with MSMQ. We want to ensure that our service has the appropriate ServiceDependency so that Windows starts things in the correct order during system startup. Our WiX structure looks something like this (attributes removed to simplify): Now, in the next version of our product, the MSMQ related functionality is optional and we will have many customers who will not need or care about the MSMQ functionality. We'd like to detect if MSMQ is installed and make sure that the service is installed with the MSMQ dependency only if MSMQ is installed (else the service won't start when MSMQ is not installed). The first attempt to accomplish this with WiX was to have two nearly identical components and use conditions to choose only the correct one: MSMQ_IS_INSTALLED NOT MSMQ_IS_INSTALLED This doesn't work (in WiX v2) because of the . We use ServiceConfig to set the restart options correctly. WiX tries to put two rows in the ServiceConfig table both with the same ServiceName. This fails because ServiceName is the primary key and the second row errors out as a duplicate. So, the next attempt was to move the ServiceConfig element to a separate, shared Component that would always get installed regardless of if MSMQ was needed or not. This compiles into an MSI but fails at install time because the NewService column in the ServiceConfig table is set to 0 and the SchedServiceConfig custom action has code to verify that the service actually exists and this check runs before the installations script is executed (and so the service hasn't been installed yet). I don't like any of the options we're currently exploring, so I'm looking for any brainstorming ideas. Options we're currently looking at: 1. Using to add the ServiceConfig table with the single row we need and with NewService set to 1 and adding SchedServiceConfig to the sequence ourselves. Yuck. 2. Dropping the dependency from the ServiceInstall completely and adding a custom action to conditionally call sc.exe to add the dependency back if MSMQ is installed. Bleh. 3. Dropping the dependency from the ServiceInstall completely and adding code to our service itself so that when it starts up, it ensures that MSMQ is running and attempt to start it if it isn't already running. Windows won't know that our service depends on MSMQ, but we'll try to replicate the logic that Windows would have used. Bummer. Any other suggestions? Note, we haven't looked at WiX v3 yet (that's on my list for today) to see if there is some new way around this issue there. Thanks, Erv - 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