[WiX-users] WiX's license implications when bootstrapping

2015-01-25 Thread Igor Brejc
Hi,

This has probably been asked before (although I couldn't find it): what are
WiX's license implications when it comes to distributing bundles based on
BootstrapperApplication? I understand the MS-RL does not apply to our own
code, but the license clarification on the WiX page doesn't seem to address
the fact that the bundle itself contains code from the WiX library
(specifically the BootstrapperCore assembly):

OuterCurve Foundation does not view the installer packages generated by WiX
> as falling within the definition of a derivative work, merely because they
> are produced using WiX. Thus, the installer packages generated by WiX will
> normally fall outside the scope of the MS-RL, and any of your source code,
> binaries, libraries, routines or other software components that are
> incorporated in installer packages generated by WiX can be governed by
> other licensing terms.


The emphasis is on "merely because they are produced using WiX".
BoostrapperCore bundles aren't just produced by WiX, they actually need to
use WiX code in order for the bootstrapping to work (as I understand it).
MS-RL states that

For any file you distribute that contains code from the software (in source
> code or binary format), you must provide recipients the source code to that
> file along with a copy of this license, which license will govern that file.


So I'm confused: do we have to provide the WiX source code if we distribute
such bundles or not?

Thank you,
Igor Brejc
--
Dive into the World of Parallel Programming. The Go Parallel Website,
sponsored by Intel and developed in partnership with Slashdot Media, is your
hub for all things parallel software development, from weekly thought
leadership blogs to news, videos, case studies, tutorials and more. Take a
look and join the conversation now. http://goparallel.sourceforge.net/
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] Burn: Multiple Apply phases

2012-11-07 Thread Igor Brejc
Hi Lukas,

Can you show us your install log file?


On Wed, Nov 7, 2012 at 11:43 AM, Lukáš Tínes | ALVAO
wrote:

> Hi,
>
> I am fairly new to the Burn engine. I am writing managed BAand I stumble
> upon this weird thing:
> After ApplyComplete event (which according to documentation should be
> fired when the engine has completed installing the bundle) sometimes i get
> a few more apply phases (ApplyBegin - ApplyComplete).
>
> Is this expected behavior? If so, how can know when the packages
> installation finished?
>
> Thanks,
>
> Lukas
>
>
>
> --
> LogMeIn Central: Instant, anywhere, Remote PC access and management.
> Stay in control, update software, and manage PCs from one command center
> Diagnose problems and improve visibility into emerging IT issues
> Automate, monitor and manage. Do more in less time with Central
> http://p.sf.net/sfu/logmein12331_d2d
> ___
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
--
LogMeIn Central: Instant, anywhere, Remote PC access and management.
Stay in control, update software, and manage PCs from one command center
Diagnose problems and improve visibility into emerging IT issues
Automate, monitor and manage. Do more in less time with Central
http://p.sf.net/sfu/logmein12331_d2d
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] custom actions in burn?

2012-11-02 Thread Igor Brejc
Hi,

I have the same thing (two MSIs, one 32 and the other 64 bit). I'm using
the managed bootstrapper with override of OnPlanPackageBegin() method to
control which one gets installed, without the need for custom actions:

protected override void
OnPlanPackageBegin(PlanPackageBeginEventArgs args)
{
base.OnPlanPackageBegin(args);

if (args.PackageId == "MPWI_Agent_x86")
{
if (Bitness.Is64BitOperatingSystem)
args.State = RequestState.Absent;
}
else if (args.PackageId == "MPWI_Agent_x64")
{
if (!Bitness.Is64BitOperatingSystem)
args.State = RequestState.Absent;
}
}


On Wed, Oct 31, 2012 at 5:21 PM, StevenOgilvie  wrote:

> Hi all,
>
> I have a product that installs a 32 bit version and 64 bit version
> installer
> (two .msi)
> I have a custom action in product.wxs that determines the "bitness" of
> Microsoft Outlook (whether the user installed 32 bit or 64 bit version of
> Outlook, our product is an add-in).
>
> so I have 2 msi's, but only 1 should kick off from burn, can you write
> custom actions in Bundle.wxs?
>
> if so what would I set the condition sequence to? i.e.
> 
>   NOT
> Installed
> 
> 
>   NOT
> Installed
> 
>
> thanks,
>
> Steve
>
>
>
> --
> View this message in context:
> http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/custom-actions-in-burn-tp7581691.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
>
--
LogMeIn Central: Instant, anywhere, Remote PC access and management.
Stay in control, update software, and manage PCs from one command center
Diagnose problems and improve visibility into emerging IT issues
Automate, monitor and manage. Do more in less time with Central
http://p.sf.net/sfu/logmein12331_d2d
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


[WiX-users] Bundles, product codes and upgrades

2012-10-26 Thread Igor Brejc
Hi,

Using the managed bootstrapper, I've noticed that when
the DetectRelatedBundle event gets fired, the event argument Operation is
set to MajorUpgrade, even though I only changed the version of the bundle
(and the containing MSI package is running MinorUpgrade).

I suspect this is happening because bundle's ProductCode is autogenerated
by WiX and changes in every build. Is this true? Is there a way to provide
my own ProductCode?

Thanks,
Igor
--
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-24 Thread Igor Brejc
Hi Christian,

If it was up to me, I would gladly open-source it, I think I too would
benefit from other people's ideas, since I'm not really an expert in the
Win Installer field. This bootstrapper thing is just a side project I'm
working on. Anyway, if you or anyone else on this list have any questions
about implementing custom .net bootstrappers, I'm ready to help if I can.

Best regards,
Igor

On Tue, Oct 23, 2012 at 10:34 AM, Christian Hausknecht <
chauskne...@beracom.de> wrote:

> 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
> > t

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.Windo

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

2012-10-20 Thread Igor Brejc
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.BootstrapperApplication
> 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);
> > state.ParentHwnd = new WindowInteropHelper(Window).Handle;
> > Window.Show();
> > state.Initialize();
> > }
> > }
> >
> > You also need to create a config file so the Burn managed bootstrapper
> > host can find your application, which should be named something like
> > YourAssemblyName.Bootstrap

Re: [WiX-users] WixManagedBootstrapperApplicationHost and .NET 2.0

2012-10-16 Thread Igor Brejc
Ok, I think I'm on to something.
The ".NET missing dialog" no longer shows I have the following .config
fragment commented out:


  


Once I put the supportedFramework tags back into XML code, the dialog again
starts to show up.
Any explanations?

p.s. one other thing: what is the appropriate supportedFramework for .NET
2.0? "v2.0" or just "v2"?

On Tue, Oct 16, 2012 at 10:14 AM, Igor Brejc  wrote:

> On Mon, Oct 15, 2012 at 7:15 PM, Rob Mensching wrote:
>
>> What does your BootstrapperCore.config file look like? Does it correctly
>> indicate the v2 NETFX should be used?
>> On Mon, Oct 15, 2012 at 2:18 AM, Igor Brejc  wrote:
>>
>>
> Hi Rob,
>
> I've tried many combinations. Here's a typical one:
>
> 
>   
> 
> type="Microsoft.Tools.WindowsInstallerXml.Bootstrapper.BootstrapperSectionGroup,
> BootstrapperCore">
>   
> type="Microsoft.Tools.WindowsInstallerXml.Bootstrapper.HostSection,
> BootstrapperCore" />
> 
>   
>   
> 
> 
>   
>   
> 
>   
>   
>   
>   
> 
>   
> 
>
> Here's the Netfx package fragment from Bundle.wxs:
>
>   
> 
>
> 
>  Cache="no"
>   Compressed="no"
>   PerMachine="yes"
>   Permanent="yes"
>   Vital="no"
>   SourceFile="C:\Users\brejc\Downloads\NetFx20SP2_x86.exe"
>   DownloadUrl="
> http://download.microsoft.com/download/c/6/e/c6e88215-0178-4c6c-b5f3-158ff77b1f38/NetFx20SP2_x86.exe
> "
>   DetectCondition="NETFRAMEWORK20"
>   InstallCondition="FALSE"/>
> 
>   
>
>  What's really odd is that I've now actually managed to make it work on
> .NET 2.0-only machine (the ".NET missing" dialog is no longer shown). But
> the problem is that I don't really know what caused it work, and
> consequently I cannot know how to deal with this in the future. Now even if
> I try to force it back to showing ".NET missing" dialog, I cannot do it.
>
> One other thing: I'm looking at the burn log from that machine and it
> reports NETFRAMEWORK20 condition to be False:
>
> [0DDC:04C8][2012-10-16T09:38:20]: Setting string variable 'Netfx2' to
> value '2.2.30729'
> [0DDC:04C8][2012-10-16T09:38:20]: Condition 'NETFRAMEWORK20' evaluates to
> false.
> [0DDC:04C8][2012-10-16T09:38:20]: Detected partially cached package:
> mpwi_x86.msi, invalid payload: mpwi_x86.msi, reason: 0x80070570
> [0DDC:04C8][2012-10-16T09:38:20]: Detected package: Netfx2Exe, state:
> Absent, cached: None
>
> .NET 2.0 is definitively installed on the machine (SP 2).
> I'm sure I'm doing something wrong, but I cannot really tell what.
>
> Thanks,
> Igor
>
--
Don't let slow site performance ruin your business. Deploy New Relic APM
Deploy New Relic app performance management and know exactly
what is happening inside your Ruby, Python, PHP, Java, and .NET app
Try New Relic at no cost today and get our sweet Data Nerd shirt too!
http://p.sf.net/sfu/newrelic-dev2dev
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


Re: [WiX-users] WixManagedBootstrapperApplicationHost and .NET 2.0

2012-10-16 Thread Igor Brejc
On Mon, Oct 15, 2012 at 7:15 PM, Rob Mensching  wrote:

> What does your BootstrapperCore.config file look like? Does it correctly
> indicate the v2 NETFX should be used?
> On Mon, Oct 15, 2012 at 2:18 AM, Igor Brejc  wrote:
>
>
Hi Rob,

I've tried many combinations. Here's a typical one:


  

  

  
  


  
  

  
  
  
  

  


Here's the Netfx package fragment from Bundle.wxs:

  



  http://download.microsoft.com/download/c/6/e/c6e88215-0178-4c6c-b5f3-158ff77b1f38/NetFx20SP2_x86.exe
"
  DetectCondition="NETFRAMEWORK20"
  InstallCondition="FALSE"/>

  

What's really odd is that I've now actually managed to make it work on .NET
2.0-only machine (the ".NET missing" dialog is no longer shown). But the
problem is that I don't really know what caused it work, and consequently I
cannot know how to deal with this in the future. Now even if I try to force
it back to showing ".NET missing" dialog, I cannot do it.

One other thing: I'm looking at the burn log from that machine and it
reports NETFRAMEWORK20 condition to be False:

[0DDC:04C8][2012-10-16T09:38:20]: Setting string variable 'Netfx2' to value
'2.2.30729'
[0DDC:04C8][2012-10-16T09:38:20]: Condition 'NETFRAMEWORK20' evaluates to
false.
[0DDC:04C8][2012-10-16T09:38:20]: Detected partially cached package:
mpwi_x86.msi, invalid payload: mpwi_x86.msi, reason: 0x80070570
[0DDC:04C8][2012-10-16T09:38:20]: Detected package: Netfx2Exe, state:
Absent, cached: None

.NET 2.0 is definitively installed on the machine (SP 2).
I'm sure I'm doing something wrong, but I cannot really tell what.

Thanks,
Igor
--
Don't let slow site performance ruin your business. Deploy New Relic APM
Deploy New Relic app performance management and know exactly
what is happening inside your Ruby, Python, PHP, Java, and .NET app
Try New Relic at no cost today and get our sweet Data Nerd shirt too!
http://p.sf.net/sfu/newrelic-dev2dev
___
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users