2011-08-23 21 views
7

Tôi đang cố gắng sử dụng SLLAUNCHER.EXE để khởi chạy Ứng dụng ngoài trình duyệt SL được cài đặt. Biểu tượng khởi động MyApp trên màn hình nền chỉ biến mất sau khi tôi chạy bên dưới. Nếu tôi thử nó mà không có công tắc ghi đè thì không có gì xảy ra.Khởi chạy ứng dụng Silverlight Out of Browser theo lập trình

Tôi đang sử dụng bài viết này như một hướng dẫn:

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

Bất kỳ đề xuất sẽ được đánh giá cao.

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

có hoạt động hay không? – kenny

+0

Tôi đang cố gắng làm việc tương tự. Có vẻ như có lỗi trong Silverlight 4, khiến sllauncher.exe không hoạt động âm thầm. Trong mọi trường hợp, tôi sẽ tiếp tục nhìn vào nó. Có lẽ có một cách giải quyết khác. https://connect.microsoft.com/VisualStudio/feedback/details/575052/sllauncher-exe-fails-silently-and-runs-nothing-with-emulate-option –

+0

Tôi đã thử mã chính xác với ứng dụng của mình với hy vọng mà tôi có thể đơn giản sử dụng một ứng dụng bên ngoài để khởi chạy chương trình ứng dụng Silverlight OOB của tôi được lập trình trên cùng một hộp và nhận được kết quả tương tự. Lối tắt trên màn hình nền của tôi tới ứng dụng OOB của tôi đã biến mất và cửa sổ cho đèn bạc OOB đã hiển thị. Tôi vượt qua init params trong phiên bản lưu trữ của tôi mà gây ra nó không phải để tải OOB vì vậy tôi không phải 100% nó tải như mong đợi khá được nêu ra, nhưng một cửa sổ hiện pop với tiêu đề dự kiến ​​trong thanh tiêu đề cửa sổ. –

Trả lời

0

Bạn đang sử dụng máy 64 bit? http://social.msdn.microsoft.com/Forums/en-US/silverlightcontrols/thread/abedb9dc-d471-4d82-8a20-45f98671cac9

allso có thể giúp: Đây là cách tôi khởi động lại từ bên trong ứng dụng OOB SL của tôi sau khi tôi phát hiện bản cập nhật đã hoàn thành:

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

Bạn có thể thử sửa lại mã cho bạn không SL ứng dụng!

THT

Các vấn đề liên quan