[WiX-users] Installing outside ProgramFilesFolder

2012-10-23 Thread Gavin Bray
Hi

I have a requirement to use C:\MyApp as the default installation directory
rather than being user Program Files (x86).

I also give the user the opportunity to specify a different directory.

I'm using:






  

At install time, the correct default directory of C:\MyApp is displayed
(assuming the Windows volume is C:).

However, if I specify a different directory (eg C:\MyApp2) during the setup
then the default C:\MyApp is still used.

How do I get this to work so that it defaults to C:\MyApp but the user
supplied directory, if specified, is used?

Thanks
Gavin
--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


[WiX-users] Burn and general app dependency question

2012-10-23 Thread victorwhiskey
Hello,

I have a app A which can be installed as a standalone which I have an MSI
installer for. Then I have a second app B which needs app A. For app B I
have a separate MSI installer which contains a shared wixlib file that is is
in app A and app B.

First off, is the mentioned way correct or there is another(better) way to
do the above?  I would like to have something in the ARP to show up as a
tree ? Like:

   B
  |->A

Or 2 separate ARP entries, but not allow the uninstall of A if B is
installed?  Is that possible?

Also is it possible with burn using the "provides" and "requires" elements?
I don't quite understand how to use the "KeyString  Optional unique
registry key name that identifies a product version range on which other
products can depend. This attribute is required in package authoring, but
optional for components. " part of those elements?  Which Key would it be
referring to?

Thanks



--
View this message in context: 
http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/Burn-and-general-app-dependency-question-tp7581536.html
Sent from the wix-users mailing list archive at Nabble.com.

--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Burn: Specifying PackageGroup Id on button click

2012-10-23 Thread Hans ter Horst
Thanks, I will look into that, at the moment I'm playing around with
InstallConditions and setting variables from my DA component. It sort of
works but this might run into trouble later.

On Tue, Oct 23, 2012 at 3:04 PM, Adrian Gantoi wrote:

> Take a look at WixBA (available in the WiX source files, it's the WiX
> installer UI).
> You will find the PlanPackageBegin handler in InstallationViewModel.cs (at
> least for WiX version 3.6 this is true).
> You can set in here the state of each package from your bundle (i.e. you
> can always plan LaunchAction.Install,
> and depending on the button you use to start the install, set the state of
> a package to "ignore it" - e.State = RequestState.None).
>
>
>
>
> 
>  From: Hans ter Horst 
> To: General discussion for Windows Installer XML toolset. <
> wix-users@lists.sourceforge.net>
> Sent: Monday, October 22, 2012 12:17 PM
> Subject: Re: [WiX-users] Burn: Specifying PackageGroup Id on button click
>
> Thanks Rob, unfortunately I cannot find any information about
> the OnPackagePlan callbacks online nor can I see it used in the WixBA
> source code. Could you point me in the right direction?
>
> Thanks!
>
> On Fri, Oct 19, 2012 at 6:59 PM, Rob Mensching 
> wrote:
>
> > Check on the OnPackagePlan callbacks.
> >
> > On Fri, Oct 19, 2012 at 5:19 AM, Hans ter Horst 
> > wrote:
> >
> > > Hello, i have several simple installers that I would like group behind
> a
> > > Burn interface and start depending on the button clicked from the
> > > Bootstrapper interface I am designing which will have several buttons.
> > > For a simple bootstrapper I know
> > > I can use Bootstrapper.Engine.Plan(LaunchAction.Install); on hitting an
> > > install button and Bootstrapper.Engine.Plan(LaunchAction.Uninstall);
> for
> > > an uninstall button. How can I extend this to refer to PackageA or
> > PackageB
> > > in my Bundle.wxs file so i can differentiate between the MSI files
> > started?
> > >
> > > Thanks!
> > > --
> > > http://monochrome.me.uk/blog/
> > >
> > >
> >
> --
> > > Everyone hates slow websites. So do we.
> > > Make your web apps faster with AppDynamics
> > > Download AppDynamics Lite for free today:
> > > http://p.sf.net/sfu/appdyn_sfd2d_oct
> > > ___
> > > WiX-users mailing list
> > > WiX-users@lists.sourceforge.net
> > > https://lists.sourceforge.net/lists/listinfo/wix-users
> > >
> >
> >
> >
> > --
> > virtually,
> >
> >Rob Mensching
> >http://RobMensching.com LLC
> >
> >
> --
> > Everyone hates slow websites. So do we.
> > Make your web apps faster with AppDynamics
> > Download AppDynamics Lite for free today:
> > http://p.sf.net/sfu/appdyn_sfd2d_oct
> > ___
> > WiX-users mailing list
> > WiX-users@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/wix-users
> >
>
>
>
> --
> http://monochrome.me.uk/blog/
>
> --
> Everyone hates slow websites. So do we.
> Make your web apps faster with AppDynamics
> Download AppDynamics Lite for free today:
> http://p.sf.net/sfu/appdyn_sfd2d_oct
> ___
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
> --
> Everyone hates slow websites. So do we.
> Make your web apps faster with AppDynamics
> Download AppDynamics Lite for free today:
> http://p.sf.net/sfu/appdyn_sfd2d_oct
> ___
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
>



-- 
http://monochrome.me.uk/blog/
--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Burn: Specifying PackageGroup Id on button click

2012-10-23 Thread Adrian Gantoi
Take a look at WixBA (available in the WiX source files, it's the WiX installer 
UI).
You will find the PlanPackageBegin handler in InstallationViewModel.cs (at 
least for WiX version 3.6 this is true).
You can set in here the state of each package from your bundle (i.e. you can 
always plan LaunchAction.Install,
and depending on the button you use to start the install, set the state of a 
package to "ignore it" - e.State = RequestState.None).





 From: Hans ter Horst 
To: General discussion for Windows Installer XML toolset. 
 
Sent: Monday, October 22, 2012 12:17 PM
Subject: Re: [WiX-users] Burn: Specifying PackageGroup Id on button click
 
Thanks Rob, unfortunately I cannot find any information about
the OnPackagePlan callbacks online nor can I see it used in the WixBA
source code. Could you point me in the right direction?

Thanks!

On Fri, Oct 19, 2012 at 6:59 PM, Rob Mensching  wrote:

> Check on the OnPackagePlan callbacks.
>
> On Fri, Oct 19, 2012 at 5:19 AM, Hans ter Horst 
> wrote:
>
> > Hello, i have several simple installers that I would like group behind a
> > Burn interface and start depending on the button clicked from the
> > Bootstrapper interface I am designing which will have several buttons.
> > For a simple bootstrapper I know
> > I can use Bootstrapper.Engine.Plan(LaunchAction.Install); on hitting an
> > install button and Bootstrapper.Engine.Plan(LaunchAction.Uninstall); for
> > an uninstall button. How can I extend this to refer to PackageA or
> PackageB
> > in my Bundle.wxs file so i can differentiate between the MSI files
> started?
> >
> > Thanks!
> > --
> > http://monochrome.me.uk/blog/
> >
> >
> --
> > Everyone hates slow websites. So do we.
> > Make your web apps faster with AppDynamics
> > Download AppDynamics Lite for free today:
> > http://p.sf.net/sfu/appdyn_sfd2d_oct
> > ___
> > WiX-users mailing list
> > WiX-users@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/wix-users
> >
>
>
>
> --
> virtually,
>
>    Rob Mensching
>    http://RobMensching.com LLC
>
> --
> Everyone hates slow websites. So do we.
> Make your web apps faster with AppDynamics
> Download AppDynamics Lite for free today:
> http://p.sf.net/sfu/appdyn_sfd2d_oct
> ___
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
>



-- 
http://monochrome.me.uk/blog/
--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users
--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Burn and Files in Use / Restart Manager

2012-10-23 Thread Georg von Kries
Hello Neil,

thanks again for your help. If I have some time I will implement this
feature. Maybe someone else will find it useful too. 

Regards,
Georg

-Ursprüngliche Nachricht-
Von: Neil Sleightholm [mailto:n...@x2systems.com] 
Gesendet: Dienstag, 23. Oktober 2012 12:33
An: General discussion for Windows Installer XML toolset.
Betreff: Re: [WiX-users] Burn and Files in Use / Restart Manager

I see the problem, what you would probably need is a close application
function within the bootstrapper - not something that is available today
(may be add it as a feature request). 

Not pretty but you could block the install if Outlook is running (not
entirely sure how to detect that) and get the user to shut it down before
the install will run.

Neil

-Original Message-
From: Georg von Kries [mailto:g...@creativbox.net]
Sent: 23 October 2012 10:19
To: 'General discussion for Windows Installer XML toolset.'
Subject: Re: [WiX-users] Burn and Files in Use / Restart Manager

Hi Neil,

thanks for your suggestion. In my case there is an Outlook add-in installed
together with our application. We cannot just close Outlook without asking
the user and I don't see a possibility to show just a single internal MSI
dialog for prompting the user to close Outlook. Am I missing something here?

Regards,
Georg   

-Ursprüngliche Nachricht-
Von: Neil Sleightholm [mailto:n...@x2systems.com]
Gesendet: Dienstag, 23. Oktober 2012 08:09
An: General discussion for Windows Installer XML toolset.
Betreff: Re: [WiX-users] Burn and Files in Use / Restart Manager

What I do in this scenario is scan the logs to find out what files are in
use and causing the reboot - look for a return code of 3010 from one of your
MSIs - burn will only do a reboot if one of the packages (MSI or EXE)
requests it. Once you know that you can decide how to handle it more
effectively. For example, if a service is running you can stop it, if it is
an application you can use the WiX CloseApplication element.

Hope this helps.

Neil

-Original Message-
From: Georg von Kries [mailto:g...@creativbox.net]
Sent: 22 October 2012 21:15
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Burn and Files in Use / Restart Manager

Hi all,

I've been successfully using WiX for a long time now and I'm very happy with
it. Many thanks for all the effort you are putting into this project.

Currently I'm using WiX together with a standard Visual Studio bootstrapper
for .NET and other prerequisites. I want to replace this with Burn which
seems to be a very nice solution. All is working very good and using Burn is
mostly straightforward. 

But one thing bothers me: There seems to be no standard way for dealing with
files in use and especially together with the restart manager. Burn will by
default always trigger a restart/ask for restarting if something is in use.
For normal applications this is very annoying for users. Additionally if I
remember correctly there was a Windows logo requirement which disallows this
practice. Therefore I'm currently trying to extend the standard bootstrapper
application (unmanaged) with "files in use" and restart manager
capabilities. 

My current understanding is that this is not possible for an bootstrapper
application without changing the engine. E.g. it seems OnExecuteFilesInUse()
is never called for MSI packages; not even thinking about the Windows
installer message INSTALLMESSAGE_RMFILESINUSE for using restart manager. I'm
no windows installer or WiX guru, but when looking at the Burn source there
is no message filter added for either INSTALLLOG_FILESINUSE or (if supported
by the installer version) INSTALLLOGMODE_RMFILESINUSE when the external UI
is initialized. But I might be missing something here.

I've started playing around with the Burn 3.7 source (because it's using
MSBuild only) and got the messages working, but there are other side
effects. E.g. the engine will always suppress results from the UI trying to
pass only expected values back to the installer; but in case of the restart
manager there are more possibilities which are not included into the
message.

I just wanted to ask what the plans are for supporting this functionality or
if I'm totally going into the wrong direction and there is an obvious
solution I'm not aware of. 

Thanks for reading!

Yours sincerely,
Georg von Kries




--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics Download AppDynamics Lite for
free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics Download AppDynamics Lite for
free today:
http://p.sf.net/sfu/appd

Re: [WiX-users] ServiceInstaller for harvested file

2012-10-23 Thread Johann A. Hough
Super! Thanks Peter... that helps with the initial fiddly bits like namespaces 
and some typical XPath queries.

-Original Message-
From: Peter Shirtcliffe [mailto:pshirtcli...@sdl.com] 
Sent: Tuesday, 23 October 2012 9:07 PM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] ServiceInstaller for harvested file

Here's an extract we use to tidy up a heated help files. It's no use in itself 
but you can see a way to handle namespaces, select Wix elements, etc.



http://www.w3.org/1999/XSL/Transform";
xmlns:xs="http://www.w3.org/2001/XMLSchema";
xmlns:wix="http://schemas.microsoft.com/wix/2006/wi";
exclude-result-prefixes="wix xs">
  









   


http://schemas.microsoft.com/wix/2006/wi"; >
  
  
  
  
  

  
  

  



http://schemas.microsoft.com/wix/2006/wi"; >





  
  



$(var.libName)=$(var.SdlBuildNumber)























-Original Message-
From: Johann A. Hough [mailto:joh...@silverskysoftware.com.au]
Sent: 23 October 2012 11:38
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] ServiceInstaller for harvested file

Thanks all

I've started looking at using an XSLT transformation - it's been years since I 
had to write XSL so it'll be slow going initially.

Is there perhaps a set of WiX XSL examples available somewhere?

-Original Message-
From: Hoover, Jacob [mailto:jacob.hoo...@greenheck.com]
Sent: Tuesday, 23 October 2012 4:25 AM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] ServiceInstaller for harvested file

Retrying this as the last attempt bounced..

If you are using heat you could provide it with a -t and an XSLT transform 
which would be used to tweak the default output to your liking. This would 
allow you to only have the need for the generated file. 

Jacob

-Original Message-
From: Johann A. Hough [mailto:joh...@silverskysoftware.com.au]
Sent: Monday, October 22, 2012 9:31 AM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] ServiceInstaller for harvested file

Hi all

I've started the arduous process of recreating a new installer using WiX to 
replace our existing VS2010 Setup Projects.

Unfortunately it's not been smooth sailing, because to be able to create some 
basic installation capabilities like dependencies discovery, website 
installation, content harvesting, etc. has taken a lot of time and research.
I've bridged most of those with various solutions from the web, but have now 
struck out with the installation of a service.

Specifically we harvest content and dependencies using heat (during Build
Event) because website projects, and other projects have content that regularly 
change) and it's simply not feasible to manually update the .WXS file for those 
changes.

One of those projects for installation is a Windows service (in fact it's a 
.NET Service with a ServiceInstaller implemented). The frustration I'm having 
is being able to point  to the service executable, 
without having to place the  for it inside the generated
(harvested) .WXS file (within in the same  for the ).

Given my relatively basic understanding of WiX I'm wondering if there is a way 
to reference that component in a fragment or something so that the 
 can find the service it needs to install.

Stating the same problem differently, the  pointing to the Service 
executable is located in one .WXS (a generated one) and the   
for it is located in another .WXS file (manually maintained) - how can I marry 
the Service Install to make it work?

I also have another question regarding some of the properties for Service 
Install - and I'm not sure why they are there, for example DisplayName, 
Description, Account, etc. - these are already defined in the .NET 
ServiceInstaller code and should just be used not so?

Thanks all
Johann

-
-
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics Download AppDynamics Lite for free
today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

-
-
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics Download AppDynamics Lite for free
today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.

Re: [WiX-users] ServiceInstaller for harvested file

2012-10-23 Thread Peter Shirtcliffe
Here's an extract we use to tidy up a heated help files. It's no use in
itself but you can see a way to handle namespaces, select Wix elements, etc.



http://www.w3.org/1999/XSL/Transform";
xmlns:xs="http://www.w3.org/2001/XMLSchema";
xmlns:wix="http://schemas.microsoft.com/wix/2006/wi";
exclude-result-prefixes="wix xs">
  









   


http://schemas.microsoft.com/wix/2006/wi"; >
  
  
  
  
  

  
  

  



http://schemas.microsoft.com/wix/2006/wi"; >





  
  



$(var.libName)=$(var.SdlBuildNumber)























-Original Message-
From: Johann A. Hough [mailto:joh...@silverskysoftware.com.au] 
Sent: 23 October 2012 11:38
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] ServiceInstaller for harvested file

Thanks all

I've started looking at using an XSLT transformation - it's been years since
I had to write XSL so it'll be slow going initially.

Is there perhaps a set of WiX XSL examples available somewhere?

-Original Message-
From: Hoover, Jacob [mailto:jacob.hoo...@greenheck.com]
Sent: Tuesday, 23 October 2012 4:25 AM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] ServiceInstaller for harvested file

Retrying this as the last attempt bounced..

If you are using heat you could provide it with a -t and an XSLT transform
which would be used to tweak the default output to your liking. This would
allow you to only have the need for the generated file. 

Jacob

-Original Message-
From: Johann A. Hough [mailto:joh...@silverskysoftware.com.au]
Sent: Monday, October 22, 2012 9:31 AM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] ServiceInstaller for harvested file

Hi all

I've started the arduous process of recreating a new installer using WiX to
replace our existing VS2010 Setup Projects.

Unfortunately it's not been smooth sailing, because to be able to create some
basic installation capabilities like dependencies discovery, website
installation, content harvesting, etc. has taken a lot of time and research.
I've bridged most of those with various solutions from the web, but have now
struck out with the installation of a service.

Specifically we harvest content and dependencies using heat (during Build
Event) because website projects, and other projects have content that
regularly change) and it's simply not feasible to manually update the .WXS
file for those changes.

One of those projects for installation is a Windows service (in fact it's a
.NET Service with a ServiceInstaller implemented). The frustration I'm having
is being able to point  to the service executable,
without having to place the  for it inside the generated
(harvested) .WXS file (within in the same  for the ).

Given my relatively basic understanding of WiX I'm wondering if there is a
way to reference that component in a fragment or something so that the
 can find the service it needs to install.

Stating the same problem differently, the  pointing to the Service
executable is located in one .WXS (a generated one) and the   for it is located in another .WXS file (manually maintained) - how can I
marry the Service Install to make it work?

I also have another question regarding some of the properties for Service
Install - and I'm not sure why they are there, for example DisplayName,
Description, Account, etc. - these are already defined in the .NET
ServiceInstaller code and should just be used not so?

Thanks all
Johann

-
-
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics Download AppDynamics Lite for free
today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

-
-
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics Download AppDynamics Lite for free
today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users



-
-
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics Download AppDynamics Lite for free
today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
___
WiX-users mailing list
WiX-users@lists.s

Re: [WiX-users] ServiceInstaller for harvested file

2012-10-23 Thread Johann A. Hough
Thanks all

I've started looking at using an XSLT transformation - it's been years since I 
had to write XSL so it'll be slow going initially.

Is there perhaps a set of WiX XSL examples available somewhere?

-Original Message-
From: Hoover, Jacob [mailto:jacob.hoo...@greenheck.com] 
Sent: Tuesday, 23 October 2012 4:25 AM
To: General discussion for Windows Installer XML toolset.
Subject: Re: [WiX-users] ServiceInstaller for harvested file

Retrying this as the last attempt bounced..

If you are using heat you could provide it with a -t and an XSLT transform 
which would be used to tweak the default output to your liking. This would 
allow you to only have the need for the generated file. 

Jacob

-Original Message-
From: Johann A. Hough [mailto:joh...@silverskysoftware.com.au]
Sent: Monday, October 22, 2012 9:31 AM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] ServiceInstaller for harvested file

Hi all

I've started the arduous process of recreating a new installer using WiX to 
replace our existing VS2010 Setup Projects.

Unfortunately it's not been smooth sailing, because to be able to create some 
basic installation capabilities like dependencies discovery, website 
installation, content harvesting, etc. has taken a lot of time and research. 
I've bridged most of those with various solutions from the web, but have now 
struck out with the installation of a service.

Specifically we harvest content and dependencies using heat (during Build 
Event) because website projects, and other projects have content that regularly 
change) and it's simply not feasible to manually update the .WXS file for those 
changes.

One of those projects for installation is a Windows service (in fact it's a 
.NET Service with a ServiceInstaller implemented). The frustration I'm having 
is being able to point  to the service executable, 
without having to place the  for it inside the generated 
(harvested) .WXS file (within in the same  for the ).

Given my relatively basic understanding of WiX I'm wondering if there is a way 
to reference that component in a fragment or something so that the 
 can find the service it needs to install.

Stating the same problem differently, the  pointing to the Service 
executable is located in one .WXS (a generated one) and the   
for it is located in another .WXS file (manually maintained) - how can I marry 
the Service Install to make it work?

I also have another question regarding some of the properties for Service 
Install - and I'm not sure why they are there, for example DisplayName, 
Description, Account, etc. - these are already defined in the .NET 
ServiceInstaller code and should just be used not so?

Thanks all
Johann

--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics Download AppDynamics Lite for free 
today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics Download AppDynamics Lite for free 
today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users



--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Installing a mixed 32 and 64 bit Application

2012-10-23 Thread Peter Shirtcliffe
Give each MSI its own product and upgrade code so that one doesn't upgrade
the other. 

-Original Message-
From: Martin Johnson [mailto:mjohn...@mpjconsultancy.com] 
Sent: 23 October 2012 11:00
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Installing a mixed 32 and 64 bit Application

My application has recently become a mixed 32 and 64 bit application.  
Seeing as this cannot be done in a single msi, I have migrated to WiX3.6 and
assembled a bootstrapper.

The 32 bit install succeeds and I have implemented the 64 bit as a major
upgrade, my problem is that when executed the 64 bit removes the 32 bit
installation.

I'm not sure whether I am missing something basic in my design or whether my
whole approach is incorrect.

Any hints tips or suggestions would be welcomed.

Martin


-
-
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics Download AppDynamics Lite for free
today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users
SDL PLC confidential, all rights reserved.
If you are not the intended recipient of this mail SDL requests and requires 
that you delete it without acting upon or copying any of its contents, and we 
further request that you advise us.
SDL PLC is a public limited company registered in England and Wales.  
Registered number: 02675207.
Registered address: Globe House, Clivemont Road, Maidenhead, Berkshire SL6 7DY, 
UK.


--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Environment variables for local installs

2012-10-23 Thread Peter Shirtcliffe
Look into the Environment element in the Wix help.

-Original Message-
From: Timothy Madden [mailto:terminato...@gmail.com] 
Sent: 23 October 2012 10:51
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Environment variables for local installs

Hello

I have a script where I want to install a new file name extension
(.exim) and add it to PATHEXT, so cmd.exe can launch files with that
extension by their name only, as commands.

I would also like to offer both "all users" and "current user" 
installation for my program.

To my big surprise, on my Windows XP system, after I create the PATHEXT
environment variable for the current user, with the contents:
PATHEXT=.exim
the user automatically loses the contents found in the system variable
PATHEXT (which is usually .COM;.EXE;.BAT;.CMD, plus whatever other languages
(perl, ruby) the user has installed).

Is there a way for a local install (current-user only) to add the new
extension only for the current user, but still use the variable value from
the system variables ?

Do other versions of Windows show this problem ?

Can I use an REG_EXPAND_SZ value in the registry, like:
%PATHEXT%;.exim
in order to merge the PATHEXT variables from both (user and system)
environments ?

Can I find some WiX code that can do the following for user-only
installations:
 - on install:
- if the user-local variable PATHEXT does not exit, create it
   with the value:
%PATHEXT%;.exim
  on install,
- only add ";.exim" to the variable if the variable is already
   present and does not include ";.exim"
 - on uninstall
- remove ".exim" from the value of the variable
- if the remaining value of the variable is
%PATHEXT%
  only, remove the variable

Thank you,
Timothy Madden


-
-
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics Download AppDynamics Lite for free
today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users
SDL PLC confidential, all rights reserved.
If you are not the intended recipient of this mail SDL requests and requires 
that you delete it without acting upon or copying any of its contents, and we 
further request that you advise us.
SDL PLC is a public limited company registered in England and Wales.  
Registered number: 02675207.
Registered address: Globe House, Clivemont Road, Maidenhead, Berkshire SL6 7DY, 
UK.


--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Burn and Files in Use / Restart Manager

2012-10-23 Thread Neil Sleightholm
I see the problem, what you would probably need is a close application function 
within the bootstrapper - not something that is available today (may be add it 
as a feature request). 

Not pretty but you could block the install if Outlook is running (not entirely 
sure how to detect that) and get the user to shut it down before the install 
will run.

Neil

-Original Message-
From: Georg von Kries [mailto:g...@creativbox.net] 
Sent: 23 October 2012 10:19
To: 'General discussion for Windows Installer XML toolset.'
Subject: Re: [WiX-users] Burn and Files in Use / Restart Manager

Hi Neil,

thanks for your suggestion. In my case there is an Outlook add-in installed 
together with our application. We cannot just close Outlook without asking the 
user and I don't see a possibility to show just a single internal MSI dialog 
for prompting the user to close Outlook. Am I missing something here?

Regards,
Georg   

-Ursprüngliche Nachricht-
Von: Neil Sleightholm [mailto:n...@x2systems.com]
Gesendet: Dienstag, 23. Oktober 2012 08:09
An: General discussion for Windows Installer XML toolset.
Betreff: Re: [WiX-users] Burn and Files in Use / Restart Manager

What I do in this scenario is scan the logs to find out what files are in use 
and causing the reboot - look for a return code of 3010 from one of your MSIs - 
burn will only do a reboot if one of the packages (MSI or EXE) requests it. 
Once you know that you can decide how to handle it more effectively. For 
example, if a service is running you can stop it, if it is an application you 
can use the WiX CloseApplication element.

Hope this helps.

Neil

-Original Message-
From: Georg von Kries [mailto:g...@creativbox.net]
Sent: 22 October 2012 21:15
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Burn and Files in Use / Restart Manager

Hi all,

I've been successfully using WiX for a long time now and I'm very happy with 
it. Many thanks for all the effort you are putting into this project.

Currently I'm using WiX together with a standard Visual Studio bootstrapper for 
.NET and other prerequisites. I want to replace this with Burn which seems to 
be a very nice solution. All is working very good and using Burn is mostly 
straightforward. 

But one thing bothers me: There seems to be no standard way for dealing with 
files in use and especially together with the restart manager. Burn will by 
default always trigger a restart/ask for restarting if something is in use.
For normal applications this is very annoying for users. Additionally if I 
remember correctly there was a Windows logo requirement which disallows this 
practice. Therefore I'm currently trying to extend the standard bootstrapper 
application (unmanaged) with "files in use" and restart manager capabilities. 

My current understanding is that this is not possible for an bootstrapper 
application without changing the engine. E.g. it seems OnExecuteFilesInUse() is 
never called for MSI packages; not even thinking about the Windows installer 
message INSTALLMESSAGE_RMFILESINUSE for using restart manager. I'm no windows 
installer or WiX guru, but when looking at the Burn source there is no message 
filter added for either INSTALLLOG_FILESINUSE or (if supported by the installer 
version) INSTALLLOGMODE_RMFILESINUSE when the external UI is initialized. But I 
might be missing something here.

I've started playing around with the Burn 3.7 source (because it's using 
MSBuild only) and got the messages working, but there are other side effects. 
E.g. the engine will always suppress results from the UI trying to pass only 
expected values back to the installer; but in case of the restart manager there 
are more possibilities which are not included into the message.

I just wanted to ask what the plans are for supporting this functionality or if 
I'm totally going into the wrong direction and there is an obvious solution I'm 
not aware of. 

Thanks for reading!

Yours sincerely,
Georg von Kries




--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics Download AppDynamics Lite for free 
today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics Download AppDynamics Lite for free 
today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users



--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics Download AppDynamics Lite for fre

[WiX-users] Installing a mixed 32 and 64 bit Application

2012-10-23 Thread Martin Johnson
My application has recently become a mixed 32 and 64 bit application.  
Seeing as this cannot be done in a single msi, I have migrated to WiX3.6 
and assembled a bootstrapper.

The 32 bit install succeeds and I have implemented the 64 bit as a major 
upgrade, my problem is that when executed the 64 bit removes the 32 bit 
installation.

I'm not sure whether I am missing something basic in my design or whether 
my whole approach is incorrect.

Any hints tips or suggestions would be welcomed.

Martin


--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


[WiX-users] Installing a mixed 32 and 64 bit Application

2012-10-23 Thread Martin Johnson

My application has recently become a mixed 32 and 64 bit application.  
Seeing as this cannot be done in a single msi, I have migrated to WiX3.6 
and assembled a bootstrapper.

The 32 bit install succeeds and I have implemented the 64 bit as a major 
upgrade, my problem is that when executed the 64 bit removes the 32 bit 
installation.

I'm not sure whether I am missing something basic in my design or whether 
my whole approach is incorrect.

Any hints tips or suggestions would be welcomed.

Martin

--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


[WiX-users] Environment variables for local installs

2012-10-23 Thread Timothy Madden
Hello

I have a script where I want to install a new file name extension 
(.exim) and add it to PATHEXT, so cmd.exe can launch files with that 
extension by their name only, as commands.

I would also like to offer both "all users" and "current user" 
installation for my program.

To my big surprise, on my Windows XP system, after I create the PATHEXT 
environment variable for the current user, with the contents:
PATHEXT=.exim
the user automatically loses the contents found in the system variable 
PATHEXT (which is usually .COM;.EXE;.BAT;.CMD, plus whatever other 
languages (perl, ruby) the user has installed).

Is there a way for a local install (current-user only) to add the new 
extension only for the current user, but still use the variable value 
from the system variables ?

Do other versions of Windows show this problem ?

Can I use an REG_EXPAND_SZ value in the registry, like:
%PATHEXT%;.exim
in order to merge the PATHEXT variables from both (user and system) 
environments ?

Can I find some WiX code that can do the following for user-only 
installations:
 - on install:
- if the user-local variable PATHEXT does not exit, create it
   with the value:
%PATHEXT%;.exim
  on install,
- only add ";.exim" to the variable if the variable is already
   present and does not include ";.exim"
 - on uninstall
- remove ".exim" from the value of the variable
- if the remaining value of the variable is
%PATHEXT%
  only, remove the variable

Thank you,
Timothy Madden


--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Burn and Files in Use / Restart Manager

2012-10-23 Thread Georg von Kries
Hi Neil,

thanks for your suggestion. In my case there is an Outlook add-in installed
together with our application. We cannot just close Outlook without asking
the user and I don't see a possibility to show just a single internal MSI
dialog for prompting the user to close Outlook. Am I missing something here?

Regards,
Georg   

-Ursprüngliche Nachricht-
Von: Neil Sleightholm [mailto:n...@x2systems.com] 
Gesendet: Dienstag, 23. Oktober 2012 08:09
An: General discussion for Windows Installer XML toolset.
Betreff: Re: [WiX-users] Burn and Files in Use / Restart Manager

What I do in this scenario is scan the logs to find out what files are in
use and causing the reboot - look for a return code of 3010 from one of your
MSIs - burn will only do a reboot if one of the packages (MSI or EXE)
requests it. Once you know that you can decide how to handle it more
effectively. For example, if a service is running you can stop it, if it is
an application you can use the WiX CloseApplication element.

Hope this helps.

Neil

-Original Message-
From: Georg von Kries [mailto:g...@creativbox.net]
Sent: 22 October 2012 21:15
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Burn and Files in Use / Restart Manager

Hi all,

I've been successfully using WiX for a long time now and I'm very happy with
it. Many thanks for all the effort you are putting into this project.

Currently I'm using WiX together with a standard Visual Studio bootstrapper
for .NET and other prerequisites. I want to replace this with Burn which
seems to be a very nice solution. All is working very good and using Burn is
mostly straightforward. 

But one thing bothers me: There seems to be no standard way for dealing with
files in use and especially together with the restart manager. Burn will by
default always trigger a restart/ask for restarting if something is in use.
For normal applications this is very annoying for users. Additionally if I
remember correctly there was a Windows logo requirement which disallows this
practice. Therefore I'm currently trying to extend the standard bootstrapper
application (unmanaged) with "files in use" and restart manager
capabilities. 

My current understanding is that this is not possible for an bootstrapper
application without changing the engine. E.g. it seems OnExecuteFilesInUse()
is never called for MSI packages; not even thinking about the Windows
installer message INSTALLMESSAGE_RMFILESINUSE for using restart manager. I'm
no windows installer or WiX guru, but when looking at the Burn source there
is no message filter added for either INSTALLLOG_FILESINUSE or (if supported
by the installer version) INSTALLLOGMODE_RMFILESINUSE when the external UI
is initialized. But I might be missing something here.

I've started playing around with the Burn 3.7 source (because it's using
MSBuild only) and got the messages working, but there are other side
effects. E.g. the engine will always suppress results from the UI trying to
pass only expected values back to the installer; but in case of the restart
manager there are more possibilities which are not included into the
message.

I just wanted to ask what the plans are for supporting this functionality or
if I'm totally going into the wrong direction and there is an obvious
solution I'm not aware of. 

Thanks for reading!

Yours sincerely,
Georg von Kries




--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics Download AppDynamics Lite for
free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics Download AppDynamics Lite for
free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users



--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] ServiceInstaller for harvested file

2012-10-23 Thread Peter Shirtcliffe
-Original Message-
From: Peter Shirtcliffe 
Sent: 22 October 2012 16:15
To: 'General discussion for Windows Installer XML toolset.'
Subject: RE: [WiX-users] ServiceInstaller for harvested file

You shouldn't user ServiceInstaller to install a service unless Wix provides
no way to do everything you need to. Use the Wix ServiceInstall element
instead. You do have to be careful to separate configuration from (the
unchanging aspects of) installation.

You must ensure that you're obeying Component Rules if you're generating
component definitions. In case you weren't aware, you don't have to put all
the files that comprise a service into a single component, nor should you.
Stick to one file per component.
Would your physical service vary so often that a component consisting of 1
file element and 1 service install element would need to change ? I'd expect
the physical architecture to change often during the early days of a project,
but it ought to settle down in time. 

The answer to your question is that you can use  to insert a .wxi
comprising a single file element inside an include, but you possibly
shouldn't :) See the Preprocessor section of the wix help. An alternative
solution that is widely applicable is to apply XSL transformations to your
.wxs files. Heat even has a command line argument to make it easy to apply
one if you can live with XSLT version 1.0.

-Original Message-
From: Johann A. Hough [mailto:joh...@silverskysoftware.com.au] 
Sent: 22 October 2012 15:31
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] ServiceInstaller for harvested file

Hi all

I've started the arduous process of recreating a new installer using WiX to
replace our existing VS2010 Setup Projects.

Unfortunately it's not been smooth sailing, because to be able to create some
basic installation capabilities like dependencies discovery, website
installation, content harvesting, etc. has taken a lot of time and research.
I've bridged most of those with various solutions from the web, but have now
struck out with the installation of a service.

Specifically we harvest content and dependencies using heat (during Build
Event) because website projects, and other projects have content that
regularly change) and it's simply not feasible to manually update the .WXS
file for those changes.

One of those projects for installation is a Windows service (in fact it's a
.NET Service with a ServiceInstaller implemented). The frustration I'm having
is being able to point  to the service executable,
without having to place the  for it inside the generated
(harvested) .WXS file (within in the same  for the ).

Given my relatively basic understanding of WiX I'm wondering if there is a
way to reference that component in a fragment or something so that the
 can find the service it needs to install.

Stating the same problem differently, the  pointing to the Service
executable is located in one .WXS (a generated one) and the   for it is located in another .WXS file (manually maintained) - how can I
marry the Service Install to make it work?

I also have another question regarding some of the properties for Service
Install - and I'm not sure why they are there, for example DisplayName,
Description, Account, etc. - these are already defined in the .NET
ServiceInstaller code and should just be used not so?

Thanks all
Johann

-
-
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics Download AppDynamics Lite for free
today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users
SDL PLC confidential, all rights reserved.
If you are not the intended recipient of this mail SDL requests and requires 
that you delete it without acting upon or copying any of its contents, and we 
further request that you advise us.
SDL PLC is a public limited company registered in England and Wales.  
Registered number: 02675207.
Registered address: Globe House, Clivemont Road, Maidenhead, Berkshire SL6 7DY, 
UK.


--
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Getting started writing a custom Bootstrapper interface

2012-10-23 Thread Christian Hausknecht
Hi Igor,

I allready guessed that... unfortunately not much developers create such things 
for Open Source or Free Software projects :-(

But thanks for telling us about your BA design and the decisions you took! That 
also helps :-)

Best regards,

Christian

-Ursprüngliche Nachricht-
Von: Igor Brejc [mailto:igor.br...@gmail.com] 
Gesendet: Dienstag, 23. Oktober 2012 10:13
An: General discussion for Windows Installer XML toolset.
Betreff: Re: [WiX-users] Getting started writing a custom Bootstrapper interface

Hi Christian,

Unfortunately I cannot release the source code, it's the property of the 
company I work for.

Best regards,
Igor

On Mon, Oct 22, 2012 at 8:30 AM, Christian Hausknecht < chauskne...@beracom.de> 
wrote:

> Hello Igor,
>
> is there any chance that you could provide us the source code?
>
> Bets regards,
>
> Christian
>
>
> -Ursprüngliche Nachricht-
> Von: Igor Brejc [mailto:igor.br...@gmail.com]
> Gesendet: Samstag, 20. Oktober 2012 20:04
> An: General discussion for Windows Installer XML toolset.
> Betreff: Re: [WiX-users] Getting started writing a custom Bootstrapper 
> interface
>
> Hi,
>
> Some more pointers from me. I've implemented a custom managed 
> bootstrapper using WinForms. The GUI actually looks pretty much the 
> same as the standard MSI setup wizard, but implemented with custom C# 
> code using MVP
> (model-view-presenter) pattern. This enables me to unit-test the 
> wizard without actually running the installation.
>
> I've also "hidden" the WiX bootstrapper engine behind an adapter 
> interface (I called it IInstallEngine). This way I can run the wizard as a 
> "normal"
> Windows Forms application and click through it (again, without the 
> need to run the actual Windows installation), since in that mode the 
> wizard uses a mocked implementation of IInstallEngine. I just simply 
> added the static Main method which has the similar logic to the Run().
>
> (Note to Rob: perhaps it would be a good idea to change the design of 
> the managed bootstrapper so that it works with interfaces instead of 
> concrete implementations, this would be really helpful for unit 
> testing and simulation).
>
> The wizard has one added feature: a debug window which can be turned 
> on through the command line and displays all the install log messages 
> directly in the setup wizard.
>
> The documentation for the managed BS is pretty scarce, so I had to 
> look into WiX's source code and do a lot of trials and errors to get 
> to this point (and I still have some issues to work through).
>
> Best regards,
> Igor Brejc
>
> On Fri, Oct 19, 2012 at 10:39 AM, Hans ter Horst  >wrote:
>
> > Thanks Daniel, this is precisely what I needed!
> >
> > On Fri, Oct 19, 2012 at 9:32 AM, Daniel Bruce 
> >  > >wrote:
> >
> > > To resolve Microsoft.Tools.WindowsInstallerXml.Bootstrapper, you 
> > > need to add a reference to BootstrapperCore, which in my 
> > > installation was located under C:\Program Files (x86)\WiX Toolset
> v3.7\SDK\BootstrapperCore.dll.
> > You
> > > should be able to find yours in a similar location.
> > >
> > > You are correct that there is little information about how to get 
> > > started with Burn, and the little information there is to find is 
> > > scattered
> > around
> > > the net and pretty terse, so I'll give you enough to get started, 
> > > then
> > you
> > > should be able to look at the source code for the WiX BA to 
> > > continue (I highly recommend having the source around to look at 
> > > either way, because there is really no other way to get 
> > > information about most
> things).
> > >
> > > For my WPF-based bootstrapper interface, I started a regular WPF 
> > > application project and changed its output type to "class library".
> > > Then
> > I
> > > have a class that inherits from BootstrapperApplication looking 
> > > something like this:
> > >
> > > public class MyBA : BootstrapperApplication {
> > > static public Threading.Dispatcher Dispatcher { get; private set; }
> > > static public View.InstallerWindow Window { get; private set; }
> > > static public App TheApp { get; private set; }
> > >
> > > protected override void Run()
> > > {
> > > TheApp = new App();
> > > TheApp.InitializeComponent();
> > > // Send a reference to the Application to access things, 
> > > if necessary
> > > TheApp.BA = this;
> > > MyBA.Dispatcher = Threading.Dispatcher.CurrentDispatcher;
> > > TheApp.Run();
> > > this.Engine.Quit(TheApp.ExitCode);
> > > }
> > > }
> > >
> > > And in my WPF Application class I have code like this to bring up 
> > > a
> > pretty
> > > standard MVVM application window:
> > >
> > > public partial class App : Application {
> > > public View.InstallerWindow Window { get; private set; }
> > > public
> > > Microsoft.Tools.WindowsInstallerXml.Bootstrapper.BootstrapperAppli
> > > ca
> > > tion
> > BA
> > > { get; set; }
> > > public int ExitCode
> > > 

Re: [WiX-users] Getting started writing a custom Bootstrapper interface

2012-10-23 Thread Igor Brejc
Hi Christian,

Unfortunately I cannot release the source code, it's the property of the
company I work for.

Best regards,
Igor

On Mon, Oct 22, 2012 at 8:30 AM, Christian Hausknecht <
chauskne...@beracom.de> wrote:

> Hello Igor,
>
> is there any chance that you could provide us the source code?
>
> Bets regards,
>
> Christian
>
>
> -Ursprüngliche Nachricht-
> Von: Igor Brejc [mailto:igor.br...@gmail.com]
> Gesendet: Samstag, 20. Oktober 2012 20:04
> An: General discussion for Windows Installer XML toolset.
> Betreff: Re: [WiX-users] Getting started writing a custom Bootstrapper
> interface
>
> Hi,
>
> Some more pointers from me. I've implemented a custom managed bootstrapper
> using WinForms. The GUI actually looks pretty much the same as the standard
> MSI setup wizard, but implemented with custom C# code using MVP
> (model-view-presenter) pattern. This enables me to unit-test the wizard
> without actually running the installation.
>
> I've also "hidden" the WiX bootstrapper engine behind an adapter interface
> (I called it IInstallEngine). This way I can run the wizard as a "normal"
> Windows Forms application and click through it (again, without the need to
> run the actual Windows installation), since in that mode the wizard uses a
> mocked implementation of IInstallEngine. I just simply added the static
> Main method which has the similar logic to the Run().
>
> (Note to Rob: perhaps it would be a good idea to change the design of the
> managed bootstrapper so that it works with interfaces instead of concrete
> implementations, this would be really helpful for unit testing and
> simulation).
>
> The wizard has one added feature: a debug window which can be turned on
> through the command line and displays all the install log messages directly
> in the setup wizard.
>
> The documentation for the managed BS is pretty scarce, so I had to look
> into WiX's source code and do a lot of trials and errors to get to this
> point (and I still have some issues to work through).
>
> Best regards,
> Igor Brejc
>
> On Fri, Oct 19, 2012 at 10:39 AM, Hans ter Horst  >wrote:
>
> > Thanks Daniel, this is precisely what I needed!
> >
> > On Fri, Oct 19, 2012 at 9:32 AM, Daniel Bruce
> >  > >wrote:
> >
> > > To resolve Microsoft.Tools.WindowsInstallerXml.Bootstrapper, you
> > > need to add a reference to BootstrapperCore, which in my
> > > installation was located under C:\Program Files (x86)\WiX Toolset
> v3.7\SDK\BootstrapperCore.dll.
> > You
> > > should be able to find yours in a similar location.
> > >
> > > You are correct that there is little information about how to get
> > > started with Burn, and the little information there is to find is
> > > scattered
> > around
> > > the net and pretty terse, so I'll give you enough to get started,
> > > then
> > you
> > > should be able to look at the source code for the WiX BA to continue
> > > (I highly recommend having the source around to look at either way,
> > > because there is really no other way to get information about most
> things).
> > >
> > > For my WPF-based bootstrapper interface, I started a regular WPF
> > > application project and changed its output type to "class library".
> > > Then
> > I
> > > have a class that inherits from BootstrapperApplication looking
> > > something like this:
> > >
> > > public class MyBA : BootstrapperApplication {
> > > static public Threading.Dispatcher Dispatcher { get; private set; }
> > > static public View.InstallerWindow Window { get; private set; }
> > > static public App TheApp { get; private set; }
> > >
> > > protected override void Run()
> > > {
> > > TheApp = new App();
> > > TheApp.InitializeComponent();
> > > // Send a reference to the Application to access things, if
> > > necessary
> > > TheApp.BA = this;
> > > MyBA.Dispatcher = Threading.Dispatcher.CurrentDispatcher;
> > > TheApp.Run();
> > > this.Engine.Quit(TheApp.ExitCode);
> > > }
> > > }
> > >
> > > And in my WPF Application class I have code like this to bring up a
> > pretty
> > > standard MVVM application window:
> > >
> > > public partial class App : Application {
> > > public View.InstallerWindow Window { get; private set; }
> > > public
> > > Microsoft.Tools.WindowsInstallerXml.Bootstrapper.BootstrapperApplica
> > > tion
> > BA
> > > { get; set; }
> > > public int ExitCode
> > > {
> > > get
> > > {
> > > return state.InstallerResult;
> > > }
> > > }
> > >
> > > private InstallationState state;
> > >
> > > protected override void OnStartup(StartupEventArgs e)
> > > {
> > > base.OnStartup(e);
> > >
> > > InstallationState state = new InstallationState(BA, ...);
> > > this.state = state;
> > > InstallerViewModel vm = new InstallerViewModel(state, ...,
> > > Threading.Dispatcher.CurrentDispatcher);
> > > var Window = new View.InstallerWindow(vm);
> > >