Re: [WiX-users] Some but not all files being removed on uninstall

2014-03-28 Thread Scott Moyer
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

2014-03-25 Thread Scott Moyer
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

2014-03-25 Thread Scott Moyer
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

2014-03-25 Thread Scott Moyer
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

2014-03-25 Thread Scott Moyer
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 ?

2014-03-24 Thread Scott Moyer
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 ?

2014-03-24 Thread Scott Moyer
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 ?

2014-03-24 Thread Scott Moyer
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 ?

2014-03-24 Thread Scott Moyer
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

2014-03-13 Thread Scott Moyer
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

2014-03-12 Thread Scott Moyer
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

2014-03-10 Thread Scott Moyer
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

2014-03-10 Thread Scott Moyer
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

2014-02-28 Thread Scott Moyer
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