Autor Beitrag
c#ler
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 176
Erhaltene Danke: 1

Win7 64Bit
C#, VBA, VS2013 Ultimate
BeitragVerfasst: Mi 08.01.14 17:15 
Hallo,
Ich habe 2 Installer (.msi), welche in einem WPF-Basierten Setup seperat installiert werden sollen.

Genauer:
Ich möchte ein WPF Form, mit 2 Buttons (A und B).
Beim Klick auf Button A soll der Installer von Anwendung A gestartet werden, bei Klick auf Anwendung B.....

Die Beiden Msi's funktionieren. Das WPF Form ist auch bereits entworfen und besitzt ein OnButtonClick, welches über die Contentbezeichnung des Buttons erkennt, welcher Button gedrückt wurde.
Problem an der Stelle ist, dass an der Stelle der Installer (für Anwendung A )gestartet werden soll.

ausblenden volle Höhe C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
#region OnButtonClick
        /// <summary>Handles the event of a button being clicked.</summary>
        /// <param name="sender">The sender of the event.</param>
        /// <param name="e">The arguments of the event.</param>
        private void OnButtonClick(object sender, RoutedEventArgs e)
        {
            InstallData.IsBusy = true;
            Button btn = sender as Button;

            if (btn != null && btn.Content != null && Bootstrapper != null && Bootstrapper.Engine != null)
            {
                switch (btn.Content.ToString().ToUpperInvariant())
                {
                    case "Anwendung A installieren"
                    { 
                        Bootstrapper.Engine.Plan(Wix.LaunchAction.Install); 
                    } 
                    break;

                    case "Anwendung B installieren"
                    { 
                        Bootstrapper.Engine.Plan(Wix.LaunchAction.Install); 
                    } 
                    break;


                    case "UNINSTALL": { Bootstrapper.Engine.Plan(Wix.LaunchAction.Uninstall); } break;
                    case "QUIT": { Close(); } break;
                    defaultbreak;
                }
            }
            else { InstallData.IsBusy = false; }
        }


Bitte Hilfe !
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mi 08.01.14 17:28 
Ähm, Process.Start("meinLiebesAnderesMSIPaket.msi")?
c#ler Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 176
Erhaltene Danke: 1

Win7 64Bit
C#, VBA, VS2013 Ultimate
BeitragVerfasst: Mi 08.01.14 17:43 
user profile iconRalf Jansen hat folgendes geschrieben Zum zitierten Posting springen:
Ähm, Process.Start("meinLiebesAnderesMSIPaket.msi")?

Sorry, fehler meinerseits.
Gute Idee, aber das Setupprojekt ist ein Bootstrapper.
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mi 08.01.14 17:52 
Bootstrapper wäre ja noch egal aber du willst sagen der Code denn du ausführst steckt selbst in einem MSI?
c#ler Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 176
Erhaltene Danke: 1

Win7 64Bit
C#, VBA, VS2013 Ultimate
BeitragVerfasst: Mi 08.01.14 18:11 
user profile iconRalf Jansen hat folgendes geschrieben Zum zitierten Posting springen:
Bootstrapper wäre ja noch egal aber du willst sagen der Code denn du ausführst steckt selbst in einem MSI?

Der MSI enthält unter anderem die UI's für dessen Installation ja^^.
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mi 08.01.14 18:47 
Dann geht das vermutlich nicht. MSIs gehen nur nacheinander. Du könntest maximal beim Button Click einplanen das nach deinem MSI das entsprechende andere MSI gestartet wird. Das sind dann aber natürlich auch 2 Installationstransaktionen.

Für diesen Beitrag haben gedankt: c#ler