2011-08-23 13 views
7

Próbuję użyć SLLAUNCHER.EXE, aby uruchomić zainstalowaną aplikację SL Out-of-Browser. Ikona uruchamiania MyApp na pulpicie po prostu zniknie po uruchomieniu poniżej. Jeśli spróbuję bez przełącznika nadpisywania, nic się nie dzieje.Uruchamianie aplikacji Silverlight Out of Browser Programowo

Używam tego artykułu jako przewodnika:

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

Wszelkie sugestie będą mile widziane.

static void Main(string[] args) 
    { 
     string sllauncherPath = string.Format("{0}\\Microsoft Silverlight\\sllauncher.exe", 
     Environment.GetFolderPath(Environment.SpecialFolder.ProgramFiles)); 

     string originUri = @"http://localhost:52878/ClientBin/MyApp.xap"; 
     string xap = "MyApp.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)) 

    } 
+1

czy działa lub czy jest pytanie? – kenny

+0

Próbuję zrobić to samo. Wygląda na to, że może wystąpić błąd w Silverlight 4, powodując, że sllauncher.exe nie działa w trybie cichym. W każdym razie nadal będę się nad tym zastanawiać. Być może istnieje obejście. https://connect.microsoft.com/VisualStudio/feedback/details/575052/sllauncher-exe-fails-silently-and-runs-nothing-with-emulate-option –

+0

Próbowałem dokładnie tego samego kodu z moją aplikacją w nadziei że mógłbym po prostu użyć zewnętrznej aplikacji, aby programowo uruchomić moją aplikację silverlight OOB zainstalowaną w tym samym pudełku i uzyskać takie same wyniki. Mój skrót na pulpicie do mojej aplikacji OOB zniknął i wyświetliło się okno OOB silverlight. Przepuszczam paramty init w mojej wersji hostowanej, która powoduje, że nie ładuje się OOB, więc nie jestem w 100% ładowany zgodnie z oczekiwaniami, ale okno wyświetla się z oczekiwanym tytułem na pasku tytułu okna. –

Odpowiedz

0

Czy używasz maszyny 64-bitowej? http://social.msdn.microsoft.com/Forums/en-US/silverlightcontrols/thread/abedb9dc-d471-4d82-8a20-45f98671cac9

Could allso help: To jak ja ponownie uruchomić od wewnątrz moich SL OOB aplikacji po wykryć aktualizacja została zakończona:

''put this in your App.xaml.vb[.cs] and call DoRestart 
Public Shared Sub DoRestart() 
    StartAgain() 
    Application.Current.MainWindow.Close() 
End Sub 
Public Shared Sub StartAgain() 
    If Not [String].IsNullOrEmpty(GetSLLauncherCommand) Then 
     Using shell = AutomationFactory.CreateObject("WScript.Shell") 
      shell.Run(GetSLLauncherCommand) 
     End Using 
    End If 
End Sub 
Public Shared Function GetSLLauncherCommand() As String 
    Dim desktopPath As String 
    Dim SLLauncherCommand As String = "" 
    Using wShell As Object = AutomationFactory.CreateObject("WScript.Shell") 
     desktopPath = wShell.SpecialFolders("Desktop") 
    End Using 
    Using shell As Object = AutomationFactory.CreateObject("Shell.Application") 
     Dim DesktopFolder As Object = shell.[NameSpace](desktopPath) 
     Dim DesktopItems As Object = DesktopFolder.Items() 
     For Each item In DesktopItems 
      If item.IsLink Then 'this is a shurtcut 
       Dim fileName As String = item.Name.ToLower() 

       If fileName.Contains("!!!<PART OF YOUR SL APPS SHORCUT NAME>!!!!") Then 
        Dim link = item.GetLink() 
        SLLauncherCommand = """" & Convert.ToString(link.Path) & """ " & Convert.ToString(link.Arguments) 
       End If 
      End If 
     Next 
    End Using 
    Return SLLauncherCommand 
End Function 

Można spróbować dostosować kod swojego non-SL aplikacja!

THT

Powiązane problemy