none
Frage zu webBrowser und Silverlight-Installation??? RRS feed

  • Frage

  • Hallo,

    ich öffne beim Programmstart in einem webBrowser eine Silverlight-Seite.

    webBrowser1.Navigate("http://meineseite.de");

    Man kann die Anwendung auch OOB benutzen.

    Jetzt würde gerne wissen, ob ich beim Programmstart den Befehl linke Maustaste -> auf diesem Computer installieren automatisch ausführen kann?


    Gruesse, NUNUI

    Mittwoch, 7. Dezember 2016 12:27

Antworten

  • Hi,

    das doppelte Anführungszeichen vor C:\test\meineApp.xap ist falsch (Hex 93 anstelle von Hex 22). Sieht man aber auch nur mit einem Hexeditor oder einem anderen Programm, das die beiden Zeichen unterschiedlich anzeigt.

    Ersetz das mal durch ein richtiges ", dann sollte es klappen.

    "%ProgramFiles%\Microsoft Silverlight\sllauncher.exe" /install:"C:\test\meinApp.xap" /origin:"http://meineseite.de/ClientBin/meinApp.xap" /shortcut:desktop+startmenu /overwrite


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community


    Freitag, 9. Dezember 2016 17:04
    Moderator

Alle Antworten

  • Hi,

    was hat das eine mit dem anderen zu tun?

    Und was willst Du nun eigentlich wissen?

    Ob man eine Silverlight Anwendung aus dem Browser heraus ohne Benutzerrückfrage auf dem System installieren kann? Falls das möglich wäre, könnte man das getrost als bösartige Anwendung bezeichnen. Von daher würde ich sagen: Nein, geht nicht.

    Was evtl. geht, ist die Installation direkt über deine Anwendung (so sie denn mit ausreichenden Benutzerberechtigungen gestartet wurde). Siehe dazu:

      http://timheuer.com/blog/archive/2010/03/25/using-sllauncher-for-silent-install-silverlight-application.aspx

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Mittwoch, 7. Dezember 2016 13:18
    Moderator
  • Super, genau das habe ich auch gesucht :o)

    Aber irgendwie klappt es bei mir nicht! Mein Code sieht wie folgt aus:

                string sllauncherPath = string.Format("{0}\\Microsoft Silverlight\\sllauncher.exe",
                     Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles));
    
                string originUri = @"http://meineseite.de/ClientBin/meinApp.xap";
                string xap = "meinApp.xap";
                string arg = string.Format(@"/emulate:""{0}"" /origin:""{1}""  /overwrite", xap, originUri);
    
                var startInfo = new ProcessStartInfo
                {
                    CreateNoWindow = false,
                    UseShellExecute = false,
                    RedirectStandardOutput = false,
                    FileName = sllauncherPath,
                    Arguments = arg
                };
    
                var process = Process.Start(startInfo);



    Gruesse, NUNUI

    Mittwoch, 7. Dezember 2016 13:48
  • Hi,

    "klappt nicht" ist leider nichts, mit dem wir was anfangen könnten. Was genau "klappt nicht"?


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Mittwoch, 7. Dezember 2016 17:55
    Moderator
  • Den Code oben lasse ich beim Programmstart laufen und bekomme aber keine Fehlermeldung und auch keine andere Meldung und wird auch nichts installiert!

    Gruesse, NUNUI

    Mittwoch, 7. Dezember 2016 19:40
  • Hi,

    die Datei "meinApp.xap" liegt auch wirklich genau in dem Pfad, in dem deine C# Anwendung gestartet wird?

    Du hast auch den richtigen Pfad (32 bzw. 64 Bit Program Files, also bspw. C:\Program Files (x86)\Microsoft Silverlight\ bzw C:\Program Files\Microsoft Silverlight\) in deiner Variablen stehen? In Tims Anleitung steht hierzu auch etwas, bitte auf jeden Fall berücksichtigen.

    Zudem ist mir grade aufgefallen, dass Du die falschen Parameter verwendest. /emulate ist für einen automatischen Start der Anwendung, nachdem diese installiert wurde. In deinem Fall musst Du /install verwenden.

    Bitte daher die Anleitung nochmal genau lesen und deinen Code entsprechend anpassen.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Mittwoch, 7. Dezember 2016 21:48
    Moderator
  • Hallo,

    irgendwie komme ich leider nicht weiter :o(

    Ich probiere über CMD das ganze zu installieren. Ich habe die XAP-Datei im Ordner test auf dem Laufwerk C gespeichert und über http://meineseite.de/ClientBin/meinApp.xap kann ich über dem Browser auch die XAP-Datei herunterladen:

    "%ProgramFiles%\Microsoft Silverlight\sllauncher.exe" /install:“C:\test\meinApp.xap" /origin:"http://meineseite.de/ClientBin/meinApp.xap" /shortcut:desktop+startmenu /overwrite

    aber ich bekomme die Fehlermeldung:

    Application origin URI must be specified with install or emulate option

    Was mache ich eigentlich falsch?


    Gruesse, NUNUI

    Freitag, 9. Dezember 2016 16:34
  • Hi,

    das doppelte Anführungszeichen vor C:\test\meineApp.xap ist falsch (Hex 93 anstelle von Hex 22). Sieht man aber auch nur mit einem Hexeditor oder einem anderen Programm, das die beiden Zeichen unterschiedlich anzeigt.

    Ersetz das mal durch ein richtiges ", dann sollte es klappen.

    "%ProgramFiles%\Microsoft Silverlight\sllauncher.exe" /install:"C:\test\meinApp.xap" /origin:"http://meineseite.de/ClientBin/meinApp.xap" /shortcut:desktop+startmenu /overwrite


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community


    Freitag, 9. Dezember 2016 17:04
    Moderator
  • DANKE :o)

    Gruesse, NUNUI

    Freitag, 9. Dezember 2016 17:14
  • Wenn ich diesen Code ausführe:

    string args = string.Format(@"/install:""{0}"" 
    /origin:""{1}"" /shortcut:""desktop+startmenu"" /overwrite", @"C:\test\meinApp.xap", "http://meineseite.de/ClientBin/meinApp.xap");
    
    string sllauncherPath = string.Format("{0}\\Microsoft Silverlight\\sllauncher.exe",
            Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles));
    
    var startInfo = new ProcessStartInfo
    {
    	CreateNoWindow = true,
            UseShellExecute = false,
            RedirectStandardOutput = true,
            FileName = sllauncherPath,
            Arguments = args
    };
    
    using (var process = Process.Start(startInfo))
    {
    	process.StandardOutput.ReadToEnd();
    }  

    bekomme folgende Fehlermeldung:

    AppId cannot be specified with install or simulate options

    Was mache ich hier falsch???


    Gruesse, NUNUI

    Freitag, 9. Dezember 2016 17:56
  • Hi,

    tjo, das kann ich dir leider auch nicht sagen. Da Du AppId nicht spezifiziert hast, kann ich mir die Meldung nicht erklären.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Freitag, 9. Dezember 2016 18:29
    Moderator