Re: [WiX-users] help controlling uninstall bundle behavior

2013-06-14 Thread jo...@msli.com
After much reading, I am trying to use bundle the wrong way.  

By design the bundle is the unified user interface to the stuff
installed.

Instead I will simply let the bundle appear in Programs and Features,
and hide everything that will be uninsulated by the bundle.

Some 3rd party ExePackages don't want to uninstall via the bundle
anyway.

On Thu, 2013-06-13 at 09:34 -0700, jo...@msli.com wrote:
 I need some help finding a good behavior for uninstalling using bundles.
 
 My bundle installs 4 things (wxs at end of this message):
  Two ExePackage, 
  Two MsiPackage
 
 From Control Panel-Programs and Features, 
 I see an entry for each item in my chain, which I like.
 
 I also see multiple entries for my bundle, which I don't like as it
 could confuse the users.
 
 Additionally, Uninstalling the bundle does not uninstall the items in
 the chain, it simply removes the bundle from Control Panel-Programs
 and Features which seems like busy work.
 
 My ignorant view, and please correct me if I'm wrong, thinks users will
 be confused by seeing bundle in Control Panel-Programs and
 Features, in addition to the chained packages, so maybe it should not
 be there, as it has no functional purpose.
 
 I see two Bundle attributes:
  DisableModify  
  DisableRemove
 which seem to address hiding my bundle in Control Panel-Programs and
 Features, but not cleanly?
 
 http://wix.sourceforge.net/manual-wix3/wix_xsd_bundle.htm
 says I just find some other way to clean out my bundle, but no examples
 given.
 
 Has anyone found a nice recipe for dealing with bundles?
 
 My Wxs for the Bundle follows:
 
 ?xml version=1.0 encoding=UTF-8?
 Wix xmlns=http://schemas.microsoft.com/wix/2006/wi;
 xmlns:bal=http://schemas.microsoft.com/wix/BalExtension;
 xmlns:util=http://schemas.microsoft.com/wix/UtilExtension;
 
 
   Bundle
 Name=$(var.BundleExe)
 Version=1.0.0.0
 Manufacturer=$(var.MyCompanyName)
 Copyright=(c) All rights reserved.
 UpgradeCode={$(var.Guid_Bundle)}
 HelpTelephone=1 234 567 8910
 HelpUrl=https://mycopany.com/software/compass?section=support;
 UpdateUrl=https://mycompany.com/software/compass?section=download;
 AboutUrl=https://mycompany.com/software/compass?section=overview;
 
 SplashScreenSourceFile=../ProgramFiles/Resources/Images/InstallerHeaderImage.bmp
   
 
 !-- Display License and Logo --
 BootstrapperApplicationRef
   Id=WixStandardBootstrapperApplication.HyperlinkLicense
   bal:WixStandardBootstrapperApplication
 
 LicenseUrl=https://www.meyersound.com/software/compass?section=download;
 LogoFile=../Source/Resources/Images/AboutCompass.png
   /
 /BootstrapperApplicationRef
 
 !-- BEGIN Conditional Def --
 !-- Check if WinPcap is installed and at least some version --
 util:RegistrySearch
   Id=RegistrySearchWinPcapHas 
   Variable=WinPcapInstalled
   Root=HKLM
 Key=SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
 \WinPcapInst
   Result=exists
 /
 util:RegistrySearch
   Id=RegistrySearchWinPcapMajor 
   Variable=WinPcapVersionMajor
   Root=HKLM
 Key=SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
 \WinPcapInst
   Value=VersionMajor
   Format=raw
   Result=value
 /
 util:RegistrySearch
   Id=RegistrySearchWinPcapMinor 
   Variable=WinPcapVersionMinor
   Root=HKLM
 Key=SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
 \WinPcapInst
   Value=VersionMinor
   Format=raw
   Result=value
 /
 !-- Check if Bounjour Print Services is installed --
 util:RegistrySearch
   Id=RegistrySearchBonjourHas 
   Variable=BonjourDLL
   Root=HKLM
 Key=SOFTWARE\Classes\AppID\Bonjour.DLL
   Result=exists
 /
 util:RegistrySearch
   Id=RegistrySearchBonjourValue 
   Variable=BounjourVersion
   Root=HKLM
 Key=SOFTWARE\Apple Inc.\Bonjour
   Value=Version
   Format=raw
   Result=value
 /
 !-- Check if Avdeccproxy is installed and at least some version --
 util:RegistrySearch
   Id=RegistrySearchProxyHas 
   Variable=ProxyInstalled
   Root=HKLM
 Key=SOFTWARE\Meyer Sound\AVDECC Proxy
   Result=exists
 /
 !-- END Conditional Def --
 
 !-- Begin Chain --
 Chain
   !-- Will not install if 4.1.3 or better is installed --
   ExePackage 
 Id=WinPcap
 Name=WinPcap_4_1_3.exe
 Vital=no
 Compressed=no
 
 DownloadUrl=http://www.winpcap.org/install/bin/WinPcap_4_1_3.exe;
 InstallCondition=NOT WinPcapInstalled OR ( 4 
 WinPcapVersionMajor AND 1  WinPcapVersionMinor)
   
 RemotePayload
   Description=WinPcap 4.1.3 installer 
   Hash=e2516fcd1573e70334c8f50bee5241cdfdf48a00 
   ProductName=WinPcap 4.1.3 
   Size=915128 
   Version=4.1.0.2980
 /
   /ExePackage
   !-- Will not install if 2.0.2.0 or better is installed 

Re: [WiX-users] help controlling uninstall bundle behavior

2013-06-14 Thread Rob Mensching
That makes a great deal of sense. smile/

Too bad the ExePackages won't uninstall cleanly. DetectConditions are still
important.


On Fri, Jun 14, 2013 at 6:11 PM, jo...@msli.com jo...@msli.com wrote:

 After much reading, I am trying to use bundle the wrong way.

 By design the bundle is the unified user interface to the stuff
 installed.

 Instead I will simply let the bundle appear in Programs and Features,
 and hide everything that will be uninsulated by the bundle.

 Some 3rd party ExePackages don't want to uninstall via the bundle
 anyway.

 On Thu, 2013-06-13 at 09:34 -0700, jo...@msli.com wrote:
  I need some help finding a good behavior for uninstalling using bundles.
 
  My bundle installs 4 things (wxs at end of this message):
   Two ExePackage,
   Two MsiPackage
 
  From Control Panel-Programs and Features,
  I see an entry for each item in my chain, which I like.
 
  I also see multiple entries for my bundle, which I don't like as it
  could confuse the users.
 
  Additionally, Uninstalling the bundle does not uninstall the items in
  the chain, it simply removes the bundle from Control Panel-Programs
  and Features which seems like busy work.
 
  My ignorant view, and please correct me if I'm wrong, thinks users will
  be confused by seeing bundle in Control Panel-Programs and
  Features, in addition to the chained packages, so maybe it should not
  be there, as it has no functional purpose.
 
  I see two Bundle attributes:
   DisableModify
   DisableRemove
  which seem to address hiding my bundle in Control Panel-Programs and
  Features, but not cleanly?
 
  http://wix.sourceforge.net/manual-wix3/wix_xsd_bundle.htm
  says I just find some other way to clean out my bundle, but no examples
  given.
 
  Has anyone found a nice recipe for dealing with bundles?
 
  My Wxs for the Bundle follows:
 
  ?xml version=1.0 encoding=UTF-8?
  Wix xmlns=http://schemas.microsoft.com/wix/2006/wi;
  xmlns:bal=http://schemas.microsoft.com/wix/BalExtension;
  xmlns:util=http://schemas.microsoft.com/wix/UtilExtension;
  
 
Bundle
  Name=$(var.BundleExe)
  Version=1.0.0.0
  Manufacturer=$(var.MyCompanyName)
  Copyright=(c) All rights reserved.
  UpgradeCode={$(var.Guid_Bundle)}
  HelpTelephone=1 234 567 8910
  HelpUrl=https://mycopany.com/software/compass?section=support;
  UpdateUrl=https://mycompany.com/software/compass?section=download;
  AboutUrl=https://mycompany.com/software/compass?section=overview;
 
 
 SplashScreenSourceFile=../ProgramFiles/Resources/Images/InstallerHeaderImage.bmp

 
  !-- Display License and Logo --
  BootstrapperApplicationRef
Id=WixStandardBootstrapperApplication.HyperlinkLicense
bal:WixStandardBootstrapperApplication
 
  LicenseUrl=https://www.meyersound.com/software/compass?section=download
 
  LogoFile=../Source/Resources/Images/AboutCompass.png
/
  /BootstrapperApplicationRef
 
  !-- BEGIN Conditional Def --
  !-- Check if WinPcap is installed and at least some version --
  util:RegistrySearch
Id=RegistrySearchWinPcapHas
Variable=WinPcapInstalled
Root=HKLM
  Key=SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
  \WinPcapInst
Result=exists
  /
  util:RegistrySearch
Id=RegistrySearchWinPcapMajor
Variable=WinPcapVersionMajor
Root=HKLM
  Key=SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
  \WinPcapInst
Value=VersionMajor
Format=raw
Result=value
  /
  util:RegistrySearch
Id=RegistrySearchWinPcapMinor
Variable=WinPcapVersionMinor
Root=HKLM
  Key=SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
  \WinPcapInst
Value=VersionMinor
Format=raw
Result=value
  /
  !-- Check if Bounjour Print Services is installed --
  util:RegistrySearch
Id=RegistrySearchBonjourHas
Variable=BonjourDLL
Root=HKLM
  Key=SOFTWARE\Classes\AppID\Bonjour.DLL
Result=exists
  /
  util:RegistrySearch
Id=RegistrySearchBonjourValue
Variable=BounjourVersion
Root=HKLM
  Key=SOFTWARE\Apple Inc.\Bonjour
Value=Version
Format=raw
Result=value
  /
  !-- Check if Avdeccproxy is installed and at least some version --
  util:RegistrySearch
Id=RegistrySearchProxyHas
Variable=ProxyInstalled
Root=HKLM
  Key=SOFTWARE\Meyer Sound\AVDECC Proxy
Result=exists
  /
  !-- END Conditional Def --
 
  !-- Begin Chain --
  Chain
!-- Will not install if 4.1.3 or better is installed --
ExePackage
  Id=WinPcap
  Name=WinPcap_4_1_3.exe
  Vital=no
  Compressed=no
 
  DownloadUrl=http://www.winpcap.org/install/bin/WinPcap_4_1_3.exe;
  InstallCondition=NOT WinPcapInstalled OR ( 4 
  WinPcapVersionMajor AND 1  WinPcapVersionMinor)
  

[WiX-users] help controlling uninstall bundle behavior

2013-06-13 Thread jo...@msli.com
I need some help finding a good behavior for uninstalling using bundles.

My bundle installs 4 things (wxs at end of this message):
 Two ExePackage, 
 Two MsiPackage

From Control Panel-Programs and Features, 
I see an entry for each item in my chain, which I like.

I also see multiple entries for my bundle, which I don't like as it
could confuse the users.

Additionally, Uninstalling the bundle does not uninstall the items in
the chain, it simply removes the bundle from Control Panel-Programs
and Features which seems like busy work.

My ignorant view, and please correct me if I'm wrong, thinks users will
be confused by seeing bundle in Control Panel-Programs and
Features, in addition to the chained packages, so maybe it should not
be there, as it has no functional purpose.

I see two Bundle attributes:
 DisableModify  
 DisableRemove
which seem to address hiding my bundle in Control Panel-Programs and
Features, but not cleanly?

http://wix.sourceforge.net/manual-wix3/wix_xsd_bundle.htm
says I just find some other way to clean out my bundle, but no examples
given.

Has anyone found a nice recipe for dealing with bundles?

My Wxs for the Bundle follows:

?xml version=1.0 encoding=UTF-8?
Wix xmlns=http://schemas.microsoft.com/wix/2006/wi;
xmlns:bal=http://schemas.microsoft.com/wix/BalExtension;
xmlns:util=http://schemas.microsoft.com/wix/UtilExtension;


  Bundle
Name=$(var.BundleExe)
Version=1.0.0.0
Manufacturer=$(var.MyCompanyName)
Copyright=(c) All rights reserved.
UpgradeCode={$(var.Guid_Bundle)}
HelpTelephone=1 234 567 8910
HelpUrl=https://mycopany.com/software/compass?section=support;
UpdateUrl=https://mycompany.com/software/compass?section=download;
AboutUrl=https://mycompany.com/software/compass?section=overview;

SplashScreenSourceFile=../ProgramFiles/Resources/Images/InstallerHeaderImage.bmp
  

!-- Display License and Logo --
BootstrapperApplicationRef
  Id=WixStandardBootstrapperApplication.HyperlinkLicense
  bal:WixStandardBootstrapperApplication

LicenseUrl=https://www.meyersound.com/software/compass?section=download;
LogoFile=../Source/Resources/Images/AboutCompass.png
  /
/BootstrapperApplicationRef

!-- BEGIN Conditional Def --
!-- Check if WinPcap is installed and at least some version --
util:RegistrySearch
  Id=RegistrySearchWinPcapHas 
  Variable=WinPcapInstalled
  Root=HKLM
Key=SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
\WinPcapInst
  Result=exists
/
util:RegistrySearch
  Id=RegistrySearchWinPcapMajor 
  Variable=WinPcapVersionMajor
  Root=HKLM
Key=SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
\WinPcapInst
  Value=VersionMajor
  Format=raw
  Result=value
/
util:RegistrySearch
  Id=RegistrySearchWinPcapMinor 
  Variable=WinPcapVersionMinor
  Root=HKLM
Key=SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
\WinPcapInst
  Value=VersionMinor
  Format=raw
  Result=value
/
!-- Check if Bounjour Print Services is installed --
util:RegistrySearch
  Id=RegistrySearchBonjourHas 
  Variable=BonjourDLL
  Root=HKLM
Key=SOFTWARE\Classes\AppID\Bonjour.DLL
  Result=exists
/
util:RegistrySearch
  Id=RegistrySearchBonjourValue 
  Variable=BounjourVersion
  Root=HKLM
Key=SOFTWARE\Apple Inc.\Bonjour
  Value=Version
  Format=raw
  Result=value
/
!-- Check if Avdeccproxy is installed and at least some version --
util:RegistrySearch
  Id=RegistrySearchProxyHas 
  Variable=ProxyInstalled
  Root=HKLM
Key=SOFTWARE\Meyer Sound\AVDECC Proxy
  Result=exists
/
!-- END Conditional Def --

!-- Begin Chain --
Chain
  !-- Will not install if 4.1.3 or better is installed --
  ExePackage 
Id=WinPcap
Name=WinPcap_4_1_3.exe
Vital=no
Compressed=no

DownloadUrl=http://www.winpcap.org/install/bin/WinPcap_4_1_3.exe;
InstallCondition=NOT WinPcapInstalled OR ( 4 
WinPcapVersionMajor AND 1  WinPcapVersionMinor)
  
RemotePayload
  Description=WinPcap 4.1.3 installer 
  Hash=e2516fcd1573e70334c8f50bee5241cdfdf48a00 
  ProductName=WinPcap 4.1.3 
  Size=915128 
  Version=4.1.0.2980
/
  /ExePackage
  !-- Will not install if 2.0.2.0 or better is installed --
  ExePackage
Id=BonjourPSSetup
Name=BonjourPSSetup.exe
Vital=no
Compressed=no

DownloadUrl=http://support.apple.com/downloads/DL999/en_US/BonjourPSSetup.exe;
InstallCondition=NOT BonjourDLL OR v2.0.2.0  BonjourVersion
  
RemotePayload
  ProductName=BonjourPrintServices
  Description=Bonjour Printer Services Installer
  Size=5436744
  Version=2.0.2.0
  Hash=847f39e0ea80d2a4d902fe59657e18f5bc32a8cb 
  /
  /ExePackage
  !-- Will not