Re: [WiX-users] Some but not all files being removed on uninstall
Sorry for the delay, Mike. I had moved on to my next hurdle of how to write/customize my own BA/UI. I am using the default feature as shown below (nothing conditional): Thanks, Scott -Original Message- From: Michael Turner [mailto:mcturner...@gmail.com] Sent: Wednesday, March 26, 2014 2:05 PM To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Some but not all files being removed on uninstall Scott, Is your product using conditional Features? One way that components can get "orphaned" is if they belong to a Feature whose Level is 0 at time of uninstall. Usually this happens when the intent is to install the feature only if a certain prerequisite software is present, and if the prerequisite is uninstalled before the product. I've found it's best to follow this pattern: <Feature ... Level="0"> <Condition Level="1"><![CDATA[REMOVE OR (...My Condition...)]]></Condition> ... </Feature> The "orphaning" happens if you forget to include the "REMOVE OR " part. (There are other alternatives that involve checking whether the feature is currently installed, but this is the simplest way.) Otherwise, it's possible that the Component GUID-based reference counts are out of whack, which could happen from "orphaning" in the past. It looks like this tracking might be stored in the following registry path, but I definitely would not advise editing or deleting anything unless you really know what you are doing and have made a full system backup first: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\{YourSID}\Components\ And I think the keys under this are encoded in a way that is not as simple as just removing the braces and dashes from the GUID, so I would suggest searching for the target path instead. Then you'll at least know whether leftover reference counts are the problem. Just make sure that they don't legitimately belong to another product that is installed. =) Regards, Mike Scott Moyer wrote > I do not see anything suspect in the install log. > > Components that get removed say 'Action: Absent' in the uninstall log. > > Components not getting removed have 'Action: Null' in the uninstall log. > > > Also Registry entries are not being removed ('Action: Null'), even > when using > > SharedDllRefCounts are all 0. > > I am using Guid="*" for all components. > > I am using the same model/code for all files so why some files getting > removed and some not? The files not getting removed are exes and dlls. > > > I am running as Administrator. > > What could be making it so some files and all registry entries do not > get removed on uninstall? > > > Could there be some sort of registration stuck from a prior install? > If so how do I remove that? > > Thanks. -- View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Some-but-not-all-files-being-removed-on-uninstall-tp7593743p7593777.html Sent from the wix-users mailing list archive at Nabble.com. -- Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users NOTICE: The information contained in this electronic mail transmission is intended by Applied Vision Corporation and its affiliates for the sole use of the named individual or entity to which it is directed, and may contain confidential information and/or trade secrets. This electronic mail is not intended for transmission to, or receipt by, anyone other than the named addressee (or a person authorized to deliver it to the named addressee). This electronic mail should not be copied or forwarded to any unauthorized persons. If you have received this electronic mail transmission in error, please delete it from your system without copying or forwarding it, and notify the sender of the error by reply email or by calling Applied Vision Corporation at 330.926., so that our address record can be corrected. -- ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] (Gentle Reminder)Creating directory under C:\Programdata same as what the user specified in the UI dialogue
I found a tool, called MicrosoftFixit*, that you can use to fix orphaned installs that did not show up in ARP but were causing sharing issues with some of my files. I now know what to do if this happens again. Thanks. See http://support.microsoft.com/mats/Program_Install_and_Uninstall Scott Moyer -Original Message- From: Phil Wilson [mailto:phildgwil...@gmail.com] Sent: Tuesday, March 25, 2014 2:41 PM To: General discussion about the WiX toolset. Subject: Re: [WiX-users] (Gentle Reminder)Creating directory under C:\Programdata same as what the user specified in the UI dialogue We seem to have crossed threads here, Suvra's "disallowing uninstallation" and Scott's similar sounding problem,. Suvra is off looking at the actual file, as far as I know. I've no idea why Scott would see "disallowing uninstallation" messages referring to component ids that re not in the MSI file, unless it's an upgrade and they are related to the older product being removed. Turn this into a vbs script and run it. It lists every component id on the system and the owning products, so it might be overkill, but look in the output for the questionable ids. Option Explicit Public installer, fullmsg, comp, a, prod, fso, pname, ploc, pid, psorce Set fso = CreateObject("Scripting.FileSystemObject") Set a = fso.CreateTextFile("comps.txt", True) ' Connect to Windows Installer object Set installer = CreateObject("WindowsInstaller.Installer") a.writeline ("MSI Components") on error resume next For Each comp In installer.components a.writeline (comp & " is used by the product:") for each prod in Installer.ComponentClients (comp) pid = installer.componentpath (prod, comp) pname = installer.productinfo (prod, "InstalledProductName") a.Writeline (" " & pname & " " & prod & "and is installed at " & pid) Next Next --- Phil Wilson On Tue, Mar 25, 2014 at 11:15 AM, Hoover, Jacob wrote: > I believe the ID's are encoded in the registry to prevent manual scrubbing, > but the MsiZap may be able to help you if you can find a copy. You might > want to scan ARP on your dev machine after the application is uninstalled to > see if there is an old MSI lying around (or even look for old MSI's you may > have built that are still on your machine). If you can find the old MSI's > you can use them to remove the data. > > One option would be to change your path of your installation (not optimal) so > that the auto-generated components have a different ID. > > And some more info on the location of the stored references and how > the GUID's are compressed: > http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Windows- > Installer-Service-and-reference-counting-td702967.html > > > -Original Message- > From: Scott Moyer [mailto:scott.mo...@appliedvision.com] > Sent: Tuesday, March 25, 2014 12:42 PM > To: 'General discussion about the WiX toolset.' > Subject: Re: [WiX-users] (Gentle Reminder)Creating directory under > C:\Programdata same as what the user specified in the UI dialogue > > I found some "Disallowing uninstallation of component: {} since another > client exists" messages in the uninstall log, which look to be referencing > the exe files, but can't find any references to the those guids in my MSI or > in the Registry. They are not from a merge module, and I have never used the > Permanent or Shared attributes. I have been running on my dev machine (not in > a VM). Sounds like there is no recovery for this situation? > > Thanks, > Scott > > -Original Message- > From: Phil Wilson [mailto:phildgwil...@gmail.com] > Sent: Tuesday, March 25, 2014 1:07 PM > To: General discussion about the WiX toolset. > Subject: Re: [WiX-users] (Gentle Reminder)Creating directory under > C:\Programdata same as what the user specified in the UI dialogue > > If the issue is that "disallowing uninstallation" message, then look up the > component guid in your MSI to see what it is, a file name or registry item. > Without that detail it's impossible to say if it's working correctly. It may > be shared because it's from a merge module used by other products (Microsoft > support Dlls etc); it may be that you have used the same physical test system > (instead of a clean VM) for all your testing and it's now an unreliable test > machine; you may have marked that guid as permanent at one time in an > install; you may have marked it shared at one time. > --- > Phil Wilson > > > On Tue, Mar 25, 2014 at 8:06 AM, Phill Hogland wrote: >> I suspect the issue is
Re: [WiX-users] (Gentle Reminder)Creating directory under C:\Programdata same as what the user specified in the UI dialogue
Thank you Jacob. I renamed to target path (as a test) and all files/keys installed and uninstalled fine. I've tried all my old MSIs to no avail, not sure how long ago it broke. I'll ask around and look into msizap, now that I know what's going on. You've been a big help diagnosing this. Thanks, Scott -Original Message- From: Hoover, Jacob [mailto:jacob.hoo...@greenheck.com] Sent: Tuesday, March 25, 2014 2:15 PM To: General discussion about the WiX toolset. Subject: Re: [WiX-users] (Gentle Reminder)Creating directory under C:\Programdata same as what the user specified in the UI dialogue I believe the ID's are encoded in the registry to prevent manual scrubbing, but the MsiZap may be able to help you if you can find a copy. You might want to scan ARP on your dev machine after the application is uninstalled to see if there is an old MSI lying around (or even look for old MSI's you may have built that are still on your machine). If you can find the old MSI's you can use them to remove the data. One option would be to change your path of your installation (not optimal) so that the auto-generated components have a different ID. And some more info on the location of the stored references and how the GUID's are compressed: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Windows-Installer-Service-and-reference-counting-td702967.html -Original Message- From: Scott Moyer [mailto:scott.mo...@appliedvision.com] Sent: Tuesday, March 25, 2014 12:42 PM To: 'General discussion about the WiX toolset.' Subject: Re: [WiX-users] (Gentle Reminder)Creating directory under C:\Programdata same as what the user specified in the UI dialogue I found some "Disallowing uninstallation of component: {} since another client exists" messages in the uninstall log, which look to be referencing the exe files, but can't find any references to the those guids in my MSI or in the Registry. They are not from a merge module, and I have never used the Permanent or Shared attributes. I have been running on my dev machine (not in a VM). Sounds like there is no recovery for this situation? Thanks, Scott -Original Message- From: Phil Wilson [mailto:phildgwil...@gmail.com] Sent: Tuesday, March 25, 2014 1:07 PM To: General discussion about the WiX toolset. Subject: Re: [WiX-users] (Gentle Reminder)Creating directory under C:\Programdata same as what the user specified in the UI dialogue If the issue is that "disallowing uninstallation" message, then look up the component guid in your MSI to see what it is, a file name or registry item. Without that detail it's impossible to say if it's working correctly. It may be shared because it's from a merge module used by other products (Microsoft support Dlls etc); it may be that you have used the same physical test system (instead of a clean VM) for all your testing and it's now an unreliable test machine; you may have marked that guid as permanent at one time in an install; you may have marked it shared at one time. --- Phil Wilson On Tue, Mar 25, 2014 at 8:06 AM, Phill Hogland wrote: > I suspect the issue is that you need to remember the values of your > properties and retrieve them prior to doing the uninstall. > http://robmensching.com/blog/posts/2010/5/2/the-wix-toolsets-remember- > property-pattern > http://www.nichesoftware.co.nz/node/633 > > > > > -- > View this message in context: > http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Creating > -directory-under-C-Programdata-same-as-what-the-user-specified-in-the- > UI-dialogue-tp7593357p7593740.html > Sent from the wix-users mailing list archive at Nabble.com. > > -- > Learn Graph Databases - Download FREE O'Reilly Book "Graph > Databases" is the definitive new guide to graph databases and their > applications. Written by three acclaimed leaders in the field, this > first edition is now available. Download your free book today! > http://p.sf.net/sfu/13534_NeoTech > ___ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users -- Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] (Gentle Reminder)Creating directory under C:\Programdata same as what the user specified in the UI dialogue
I found some "Disallowing uninstallation of component: {} since another client exists" messages in the uninstall log, which look to be referencing the exe files, but can't find any references to the those guids in my MSI or in the Registry. They are not from a merge module, and I have never used the Permanent or Shared attributes. I have been running on my dev machine (not in a VM). Sounds like there is no recovery for this situation? Thanks, Scott -Original Message- From: Phil Wilson [mailto:phildgwil...@gmail.com] Sent: Tuesday, March 25, 2014 1:07 PM To: General discussion about the WiX toolset. Subject: Re: [WiX-users] (Gentle Reminder)Creating directory under C:\Programdata same as what the user specified in the UI dialogue If the issue is that "disallowing uninstallation" message, then look up the component guid in your MSI to see what it is, a file name or registry item. Without that detail it's impossible to say if it's working correctly. It may be shared because it's from a merge module used by other products (Microsoft support Dlls etc); it may be that you have used the same physical test system (instead of a clean VM) for all your testing and it's now an unreliable test machine; you may have marked that guid as permanent at one time in an install; you may have marked it shared at one time. --- Phil Wilson On Tue, Mar 25, 2014 at 8:06 AM, Phill Hogland wrote: > I suspect the issue is that you need to remember the values of your > properties and retrieve them prior to doing the uninstall. > http://robmensching.com/blog/posts/2010/5/2/the-wix-toolsets-remember- > property-pattern > http://www.nichesoftware.co.nz/node/633 > > > > > -- > View this message in context: > http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Creating > -directory-under-C-Programdata-same-as-what-the-user-specified-in-the- > UI-dialogue-tp7593357p7593740.html > Sent from the wix-users mailing list archive at Nabble.com. > > -- > Learn Graph Databases - Download FREE O'Reilly Book "Graph > Databases" is the definitive new guide to graph databases and their > applications. Written by three acclaimed leaders in the field, this > first edition is now available. Download your free book today! > http://p.sf.net/sfu/13534_NeoTech > ___ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users -- Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users NOTICE: The information contained in this electronic mail transmission is intended by Applied Vision Corporation and its affiliates for the sole use of the named individual or entity to which it is directed, and may contain confidential information and/or trade secrets. This electronic mail is not intended for transmission to, or receipt by, anyone other than the named addressee (or a person authorized to deliver it to the named addressee). This electronic mail should not be copied or forwarded to any unauthorized persons. If you have received this electronic mail transmission in error, please delete it from your system without copying or forwarding it, and notify the sender of the error by reply email or by calling Applied Vision Corporation at 330.926., so that our address record can be corrected. -- Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Some but not all files being removed on uninstall
I do not see anything suspect in the install log. Components that get removed say 'Action: Absent' in the uninstall log. Components not getting removed have 'Action: Null' in the uninstall log. Also Registry entries are not being removed ('Action: Null'), even when using SharedDllRefCounts are all 0. I am using Guid="*" for all components. I am using the same model/code for all files so why some files getting removed and some not? The files not getting removed are exes and dlls. I am running as Administrator. What could be making it so some files and all registry entries do not get removed on uninstall? Could there be some sort of registration stuck from a prior install? If so how do I remove that? Thanks. NOTICE: The information contained in this electronic mail transmission is intended by Applied Vision Corporation and its affiliates for the sole use of the named individual or entity to which it is directed, and may contain confidential information and/or trade secrets. This electronic mail is not intended for transmission to, or receipt by, anyone other than the named addressee (or a person authorized to deliver it to the named addressee). This electronic mail should not be copied or forwarded to any unauthorized persons. If you have received this electronic mail transmission in error, please delete it from your system without copying or forwarding it, and notify the sender of the error by reply email or by calling Applied Vision Corporation at 330.926., so that our address record can be corrected. -- Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] What is the best way to design a Bootstrapper requiring external input ?
I added ExeProtocol="burn" to the ExePackage element in the first bundle, and I added to the Fragment in the second/driver bundle. Not sure if that is correct as it does not appear to make any difference, good or bad, to the installation. -Original Message- From: Hoover, Jacob [mailto:jacob.hoo...@greenheck.com] Sent: Monday, March 24, 2014 12:59 PM To: General discussion about the WiX toolset. Subject: Re: [WiX-users] What is the best way to design a Bootstrapper requiring external input ? Have two bundles; The first containing your prerequisites and core application install and a second bundle containing the drivers. Yes, it would be an Exe package with ExeProtocol=burn. In the "driver" bundle, I believe you'd want to look at the RelatedBundle element. http://blogs.msdn.com/b/heaths/archive/2012/02/21/introducing-sticky-patching-and-add-ons.aspx -Original Message- From: Scott Moyer [mailto:scott.mo...@appliedvision.com] Sent: Monday, March 24, 2014 11:50 AM To: General discussion about the WiX toolset. Subject: Re: [WiX-users] What is the best way to design a Bootstrapper requiring external input ? Thanks for the response. Just to clarify... You can have more than one in a Bootstrapper.wxs? Or by "second bundle" do you mean second Bootstrapper.exe? As in targeting a second Bootstrapper (Bootstrapper2.exe) as the SourceFile in an ExePackage in the first Bootstrapper (Bootstrapper1.exe)? (This actually does work). For example ... ... ... (/Bundle> -Original Message- From: Hoover, Jacob [mailto:jacob.hoo...@greenheck.com] Sent: Monday, March 24, 2014 11:49 AM To: General discussion about the WiX toolset. Subject: Re: [WiX-users] What is the best way to design a Bootstrapper requiring external input ? There isn't any communication between the MSI and the BA for returning property values. Since you've written your own BA, you have a bit more latitude but you can't modify the plan in between packages in Apply. To me it almost seems like it would make sense (and be easier and not require a custom BA) to utilize a second bundle for the camera drivers. There you could do your install check to assert your initial bundle is in place, and utilize registry searches to read the persisted values from your main MSI install to then allow this aux bundle to plan the proper driver MSI. As for the remember me property pattern, http://robmensching.com/blog/posts/2010/5/2/the-wix-toolsets-remember-property-pattern -Original Message- From: Scott Moyer [mailto:scott.mo...@appliedvision.com] Sent: Monday, March 24, 2014 10:37 AM To: 'General discussion about the WiX toolset.' Subject: Re: [WiX-users] What is the best way to design a Bootstrapper requiring external input ? Thanks for the reply. I already have four MSIs for the two drivers (two x64 and two x86), and I am familiar with passing variables from a BA to an MSI. I just need to figure out how to pass information back from the MSI so the BA can access it. I do not understand how to persist a variable and am not familiar with the 'remember property' pattern. Do you have any examples you can share, as I am a pretty visual learner? -Original Message- From: Phill Hogland [mailto:phogl...@rimage.com] Sent: Monday, March 24, 2014 11:11 AM To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] What is the best way to design a Bootstrapper requiring external input ? I am in a similar boat, converting an old IS script project to Wix/msi. So I am also learning, and very impressed with WIX. Most of my time so far has been trying to sort out oddball configuration issues for drivers. In my case in some scenarios I need to get printer drivers installed as print-to-file and in other situations the same driver as pnp when hardware is attached. But since the pc is embedded into the hardware the hardware is attached even before the software is installed, which creates pnp issues. Given your info, I think I would: 1) create separate msi (without concern about the UI) for each driver. For me that means a single MSI project for each of three drivers, each of which is built twice to create six x86 and x64 packages. In the mba try to detect devices or collect registration info and other configuration in OnDetect. I do not write anything at this stage. But the mba writes info that will be passed to the msi packages as Burn string variables. (The bootstrapper project defines these string variables as bal:Overwritable. I do not persist these variables since I implement 'remember property' pattern in each MSI. If you can be certain that the MSI will not be launched separate from the bootstrapper, then persisting the variable might be simpler.) Then in the chain it worked best for me to install the drivers first, (based on InstallConditions using var
Re: [WiX-users] What is the best way to design a Bootstrapper requiring external input ?
Thanks for the response. Just to clarify... You can have more than one in a Bootstrapper.wxs? Or by "second bundle" do you mean second Bootstrapper.exe? As in targeting a second Bootstrapper (Bootstrapper2.exe) as the SourceFile in an ExePackage in the first Bootstrapper (Bootstrapper1.exe)? (This actually does work). For example ... ... ... (/Bundle> -Original Message- From: Hoover, Jacob [mailto:jacob.hoo...@greenheck.com] Sent: Monday, March 24, 2014 11:49 AM To: General discussion about the WiX toolset. Subject: Re: [WiX-users] What is the best way to design a Bootstrapper requiring external input ? There isn't any communication between the MSI and the BA for returning property values. Since you've written your own BA, you have a bit more latitude but you can't modify the plan in between packages in Apply. To me it almost seems like it would make sense (and be easier and not require a custom BA) to utilize a second bundle for the camera drivers. There you could do your install check to assert your initial bundle is in place, and utilize registry searches to read the persisted values from your main MSI install to then allow this aux bundle to plan the proper driver MSI. As for the remember me property pattern, http://robmensching.com/blog/posts/2010/5/2/the-wix-toolsets-remember-property-pattern -Original Message- From: Scott Moyer [mailto:scott.mo...@appliedvision.com] Sent: Monday, March 24, 2014 10:37 AM To: 'General discussion about the WiX toolset.' Subject: Re: [WiX-users] What is the best way to design a Bootstrapper requiring external input ? Thanks for the reply. I already have four MSIs for the two drivers (two x64 and two x86), and I am familiar with passing variables from a BA to an MSI. I just need to figure out how to pass information back from the MSI so the BA can access it. I do not understand how to persist a variable and am not familiar with the 'remember property' pattern. Do you have any examples you can share, as I am a pretty visual learner? -Original Message- From: Phill Hogland [mailto:phogl...@rimage.com] Sent: Monday, March 24, 2014 11:11 AM To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] What is the best way to design a Bootstrapper requiring external input ? I am in a similar boat, converting an old IS script project to Wix/msi. So I am also learning, and very impressed with WIX. Most of my time so far has been trying to sort out oddball configuration issues for drivers. In my case in some scenarios I need to get printer drivers installed as print-to-file and in other situations the same driver as pnp when hardware is attached. But since the pc is embedded into the hardware the hardware is attached even before the software is installed, which creates pnp issues. Given your info, I think I would: 1) create separate msi (without concern about the UI) for each driver. For me that means a single MSI project for each of three drivers, each of which is built twice to create six x86 and x64 packages. In the mba try to detect devices or collect registration info and other configuration in OnDetect. I do not write anything at this stage. But the mba writes info that will be passed to the msi packages as Burn string variables. (The bootstrapper project defines these string variables as bal:Overwritable. I do not persist these variables since I implement 'remember property' pattern in each MSI. If you can be certain that the MSI will not be launched separate from the bootstrapper, then persisting the variable might be simpler.) Then in the chain it worked best for me to install the drivers first, (based on InstallConditions using variable set by the mba) and then install the application. In each MSI I implemented 'remember property' pattern for info that needs to be passed in. So the info collected by the mba is passed to each MSI as a MsiProperty. I'm still learning, so I am interested in other's advice. -- View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/What-is-the-best-way-to-design-a-Bootstrapper-requiring-external-input-tp7593698p7593701.html Sent from the wix-users mailing list archive at Nabble.com. -- Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users NOTICE: The information contained in th
Re: [WiX-users] What is the best way to design a Bootstrapper requiring external input ?
Thanks for the reply. I already have four MSIs for the two drivers (two x64 and two x86), and I am familiar with passing variables from a BA to an MSI. I just need to figure out how to pass information back from the MSI so the BA can access it. I do not understand how to persist a variable and am not familiar with the 'remember property' pattern. Do you have any examples you can share, as I am a pretty visual learner? -Original Message- From: Phill Hogland [mailto:phogl...@rimage.com] Sent: Monday, March 24, 2014 11:11 AM To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] What is the best way to design a Bootstrapper requiring external input ? I am in a similar boat, converting an old IS script project to Wix/msi. So I am also learning, and very impressed with WIX. Most of my time so far has been trying to sort out oddball configuration issues for drivers. In my case in some scenarios I need to get printer drivers installed as print-to-file and in other situations the same driver as pnp when hardware is attached. But since the pc is embedded into the hardware the hardware is attached even before the software is installed, which creates pnp issues. Given your info, I think I would: 1) create separate msi (without concern about the UI) for each driver. For me that means a single MSI project for each of three drivers, each of which is built twice to create six x86 and x64 packages. In the mba try to detect devices or collect registration info and other configuration in OnDetect. I do not write anything at this stage. But the mba writes info that will be passed to the msi packages as Burn string variables. (The bootstrapper project defines these string variables as bal:Overwritable. I do not persist these variables since I implement 'remember property' pattern in each MSI. If you can be certain that the MSI will not be launched separate from the bootstrapper, then persisting the variable might be simpler.) Then in the chain it worked best for me to install the drivers first, (based on InstallConditions using variable set by the mba) and then install the application. In each MSI I implemented 'remember property' pattern for info that needs to be passed in. So the info collected by the mba is passed to each MSI as a MsiProperty. I'm still learning, so I am interested in other's advice. -- View this message in context: http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/What-is-the-best-way-to-design-a-Bootstrapper-requiring-external-input-tp7593698p7593701.html Sent from the wix-users mailing list archive at Nabble.com. -- Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users NOTICE: The information contained in this electronic mail transmission is intended by Applied Vision Corporation and its affiliates for the sole use of the named individual or entity to which it is directed, and may contain confidential information and/or trade secrets. This electronic mail is not intended for transmission to, or receipt by, anyone other than the named addressee (or a person authorized to deliver it to the named addressee). This electronic mail should not be copied or forwarded to any unauthorized persons. If you have received this electronic mail transmission in error, please delete it from your system without copying or forwarding it, and notify the sender of the error by reply email or by calling Applied Vision Corporation at 330.926., so that our address record can be corrected. -- Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] What is the best way to design a Bootstrapper requiring external input ?
First of all, I think WiX is pretty awesome, but I am having some trouble understanding how to implement some of the advanced customization/extension capabilities, and what is the best way to design and implement ... My new assignment wants me to modernize and cleanup a 15-year old IS6 install that has evolved into something that is no longer sustainable and does not support 64-bit. I've developed a BA, but my main hang-up is that the WiX application MSI I created needs to call a license utility to get configuration information necessary for a fresh install, writing that config info to the Registry (I know), so we know which [mutually exclusive] camera driver to install. What would be the best way to implement this? I see two choices - 1) wrap the camera drivers in an exe that checks the Registry and installs the proper camera driver, or 2) extend the BA to be able to check the Registry during Apply(). What would be the best choice (I know there may be more than the two I mentioned), and why? Also, if extending the BA is a possibility, what is the best way to do that? The simplified chain looks like this: NOTICE: The information contained in this electronic mail transmission is intended by Applied Vision Corporation and its affiliates for the sole use of the named individual or entity to which it is directed, and may contain confidential information and/or trade secrets. This electronic mail is not intended for transmission to, or receipt by, anyone other than the named addressee (or a person authorized to deliver it to the named addressee). This electronic mail should not be copied or forwarded to any unauthorized persons. If you have received this electronic mail transmission in error, please delete it from your system without copying or forwarding it, and notify the sender of the error by reply email or by calling Applied Vision Corporation at 330.926., so that our address record can be corrected. -- Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Bootstrapper question
What is the recommended way for MSIs to communicate with each other? For example, the Bootstrapper executes a chain of MSIs where the first MSI displays a custom dialog which sets a property according to what radio button the user selected. Later, depending on the user's selection in the MSI's dialog, the Bootstrapper needs to select one of two different third party MSIs. Would the correct way to do this be to put the custom dialog up in the Bootstrapper? I guess another option would be to copy and rename the correct third party MSI to, say Generic.msi, so the Bootstrapper could just execute Generic.msi without having to make a decision (yuk). Please let me know your thoughts on this, as maybe I am way off base. (The reason for all this is that I am trying to port a 15-year old evolution of a monster application from InstallShield 6.0 to WiX, and am just learning WiX/MSI. Just started working here and this is my first assignment:) Thanks in advance. -Original Message- From: Rob Mensching [mailto:r...@firegiant.com] Sent: Monday, March 10, 2014 3:26 PM To: General discussion about the WiX toolset. Subject: Re: [WiX-users] Bootstrapper question No. There is no way for Packages to communicate Properties back to the Bundle. ___ FireGiant | Dedicated support for the WiX toolset | http://www.firegiant.com/ -Original Message----- From: Scott Moyer [mailto:scott.mo...@appliedvision.com] Sent: Monday, March 10, 2014 11:58 AM To: 'WiX-users@lists.sourceforge.net' Subject: [WiX-users] Bootstrapper question Does anyone know if a Bundle/Chain can access a public property from a bundled msi? In the following example the CAMERATYPE property is set in Genius.msi ... http://schemas.microsoft.com/wix/2006/wi";> Thanks! NOTICE: The information contained in this electronic mail transmission is intended by Applied Vision Corporation and its affiliates for the sole use of the named individual or entity to which it is directed, and may contain confidential information and/or trade secrets. This electronic mail is not intended for transmission to, or receipt by, anyone other than the named addressee (or a person authorized to deliver it to the named addressee). This electronic mail should not be copied or forwarded to any unauthorized persons. If you have received this electronic mail transmission in error, please delete it from your system without copying or forwarding it, and notify the sender of the error by reply email or by calling Applied Vision Corporation at 330.926., so that our address record can be corrected. -- Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users NOTICE: The information contained in this electronic mail transmission is intended by Applied Vision Corporation and its affiliates for the sole use of the named individual or entity to which it is directed, and may contain confidential information and/or trade secrets. This electronic mail is not intended for transmission to, or receipt by, anyone other than the named addressee (or a person authorized to deliver it to the named addressee). This electronic mail should not be copied or forwarded to any unauthorized persons. If you have received this electronic mail transmission in error, please delete it from your system without copying or forwarding it, and notify the sender of the error by reply email or by calling Applied Vision Corporation at 330.926., so that our address record can be corrected. -- Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the
[WiX-users] Binding FileVersion in a bootstrapper
I am not understanding examples on how to set a bundle version from the version of an exe file. I did so very simply in my msi as shown below: ... ... ... But can't figure out how to do the same for a Bundle that contains my msi. NOTICE: The information contained in this electronic mail transmission is intended by Applied Vision Corporation and its affiliates for the sole use of the named individual or entity to which it is directed, and may contain confidential information and/or trade secrets. This electronic mail is not intended for transmission to, or receipt by, anyone other than the named addressee (or a person authorized to deliver it to the named addressee). This electronic mail should not be copied or forwarded to any unauthorized persons. If you have received this electronic mail transmission in error, please delete it from your system without copying or forwarding it, and notify the sender of the error by reply email or by calling Applied Vision Corporation at 330.926., so that our address record can be corrected. -- Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
Re: [WiX-users] Bootstrapper question
There is a custom UI in Genius.msi that prompts for and sets the camera type property (as well as the number of cameras). I wonder if that ui can be moved from the MSI up to the BA? -Original Message- From: Hoover, Jacob [mailto:jacob.hoo...@greenheck.com] Sent: Monday, March 10, 2014 3:27 PM To: General discussion about the WiX toolset. Subject: Re: [WiX-users] Bootstrapper question I fail to see how this would be useful, but I don't think there is anything today in place. The reason I question why you would do it is the condition would end up being a constant expression (either always being true or always being false). To me it seems like you'd want a BA with custom code for detecting/prompting for a camera type, and from there property drive which satellite MSI's to install. I could also envision a user having more than one camera so they may need a UI with check boxes or a checked list box to select the possible cameras. What you can do is pass property values to a MSI from the Bundle via That being said, you could create your own extensions to do this but I still fail at seeing how it could be useful. -Original Message----- From: Scott Moyer [mailto:scott.mo...@appliedvision.com] Sent: Monday, March 10, 2014 1:58 PM To: 'WiX-users@lists.sourceforge.net' Subject: [WiX-users] Bootstrapper question Does anyone know if a Bundle/Chain can access a public property from a bundled msi? In the following example the CAMERATYPE property is set in Genius.msi ... http://schemas.microsoft.com/wix/2006/wi";> Thanks! NOTICE: The information contained in this electronic mail transmission is intended by Applied Vision Corporation and its affiliates for the sole use of the named individual or entity to which it is directed, and may contain confidential information and/or trade secrets. This electronic mail is not intended for transmission to, or receipt by, anyone other than the named addressee (or a person authorized to deliver it to the named addressee). This electronic mail should not be copied or forwarded to any unauthorized persons. If you have received this electronic mail transmission in error, please delete it from your system without copying or forwarding it, and notify the sender of the error by reply email or by calling Applied Vision Corporation at 330.926., so that our address record can be corrected. -- Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users -- Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users NOTICE: The information contained in this electronic mail transmission is intended by Applied Vision Corporation and its affiliates for the sole use of the named individual or entity to which it is directed, and may contain confidential information and/or trade secrets. This electronic mail is not intended for transmission to, or receipt by, anyone other than the named addressee (or a person authorized to deliver it to the named addressee). This electronic mail should not be copied or forwarded to any unauthorized persons. If you have received this electronic mail transmission in error, please delete it from your system without copying or forwarding it, and notify the sender of the error by reply email or by calling Applied Vision Corporation at 330.926., so that our address record can be corrected. -- Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Bootstrapper question
Does anyone know if a Bundle/Chain can access a public property from a bundled msi? In the following example the CAMERATYPE property is set in Genius.msi ... http://schemas.microsoft.com/wix/2006/wi";> Thanks! NOTICE: The information contained in this electronic mail transmission is intended by Applied Vision Corporation and its affiliates for the sole use of the named individual or entity to which it is directed, and may contain confidential information and/or trade secrets. This electronic mail is not intended for transmission to, or receipt by, anyone other than the named addressee (or a person authorized to deliver it to the named addressee). This electronic mail should not be copied or forwarded to any unauthorized persons. If you have received this electronic mail transmission in error, please delete it from your system without copying or forwarding it, and notify the sender of the error by reply email or by calling Applied Vision Corporation at 330.926., so that our address record can be corrected. -- Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users
[WiX-users] Conditional dynamic dialogs
Does anyone know a way to dynamically create a dialog depending on a property setting. Looks like you can perform a condition on a Control but not on a specific RadioButtonGroupI could create a custom action to present the dialog but would prefer not to. If necessary will just create an entirely separate dialog, but would prefer not to. Feature tree is no good since we need mutually exclusive options, unless I am missing something there as well. For example I would like to display the following dialog optionally showing/enabling the C3 button depending on whether or not some property has been previously set: Thanks! NOTICE: The information contained in this electronic mail transmission is intended by Applied Vision Corporation and its affiliates for the sole use of the named individual or entity to which it is directed, and may contain confidential information and/or trade secrets. This electronic mail is not intended for transmission to, or receipt by, anyone other than the named addressee (or a person authorized to deliver it to the named addressee). This electronic mail should not be copied or forwarded to any unauthorized persons. If you have received this electronic mail transmission in error, please delete it from your system without copying or forwarding it, and notify the sender of the error by reply email or by calling Applied Vision Corporation at 330.926., so that our address record can be corrected. -- Flow-based real-time traffic analytics software. Cisco certified tool. Monitor traffic, SLAs, QoS, Medianet, WAAS etc. with NetFlow Analyzer Customize your own dashboards, set traffic alerts and generate reports. Network behavioral analysis & security monitoring. All-in-one tool. http://pubads.g.doubleclick.net/gampad/clk?id=126839071&iu=/4140/ostg.clktrk ___ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users