2011-04-05 23 views
5

Bạn có thể buộc Silverlight chỉ chạy ngoài trình duyệt không?Bạn có thể buộc Silverlight chỉ chạy hết trình duyệt không?

EDIT: Lý do tôi hỏi là vì rất nhiều chức năng của Silverlight chỉ hoạt động OOB. Nếu ứng dụng của tôi phụ thuộc vào điều này, tôi cần phải yêu cầu ứng dụng Silverlight chạy trong chế độ đó hoặc chọn một thứ khác.

+0

như một ứng dụng wpf? –

+0

nghiêm túc, tại sao không wpf và một cài đặt clickonce? –

+0

@Nathan: Có thể cài đặt cú nhấp chuột cũng cài đặt khung .NET yêu cầu không? – AnthonyWJones

Trả lời

4

từ http://blogs.microsoft.co.il/blogs/alex_golesh/archive/2010/03/15/silverlight-4-quick-tip-out-of-browser-improvements.aspx

tính năng bổ sung tồn tại với mô hình OOB mới là khả năng cài đặt ứng dụng không từ trang web (như nó là từ phiên bản 3), nhưng từ dòng lệnh (có tập tin XAP có sẵn). Silverlight 4 OOB launcher có các tham số dòng lệnh mới để cài đặt, gỡ cài đặt và thực thi ứng dụng trong "chế độ mô phỏng" - mà không cần cài đặt nó.

Ví dụ: để cài đặt ứng dụng trên máy tính để bàn sử dụng lệnh sau:

"%ProgramFiles(x86)%\Microsoft Silverlight\sllauncher.exe" /overwrite /install:"X:\PACKAGE_LOCATION\SL4Features.Web\ClientBin\APPLICATION.xap" 
/origin:http://ORIGINAL_LOCATION/ORIGINAL_HOSTING_PAGE /shortcut:desktop 

Để gỡ bỏ cài đặt nó sử dụng lệnh sau:

"%ProgramFiles(x86)%\Microsoft Silverlight\sllauncher.exe" /overwrite /uninstall:"X:\PACKAGE_LOCATION\APPLICATION.xap" 
/origin:http://ORIGINAL_LOCATION/ORIGINAL_HOSTING_PAGE /shortcut:desktop 

Để chạy ứng dụng mà không cần cài đặt nó (trong chế độ thi đua), sử dụng lệnh sau:

"%ProgramFiles(x86)%\Microsoft Silverlight\sllauncher.exe" /overwrite /emulate:"X:\PACKAGE_LOCATION\APPLICATION.xap" /origin:http://ORIGINAL_LOCATION/ 
8

Làm thế nào về việc sử dụng này trong Application_Startup của bạn ngay cả trong App.Xaml.cs: -

private void Application_Startup(object sender, StartupEventArgs e) 
{ 

    if (IsRunningOutOfBrowser) 
    { 
      this.RootVisual = new MainPage(); 
    } 
    else 
    { 
      this.RootVisual = new PleaseRunOOB(): 
    } 
} 

Bây giờ, hãy tạo một UserControl rất đơn giản được gọi là PleaseRunOOB để trình bày cho người dùng biết neeed để cài đặt và/hoặc chạy phiên bản OOB của ứng dụng.

+0

tôi thích điều này theo lý thuyết. Tôi chỉ đang đấu tranh với lý do tại sao bạn thậm chí sẽ đăng nó lên web nếu bạn không muốn nó được xem trong trình duyệt. –

+0

@Nathan: Là phương tiện giao hàng. – AnthonyWJones

+0

@Nathan: Có rất nhiều nhu cầu trong thế giới này về những gì Silverlight có thể cung cấp cho các ứng dụng LOB. Mục lớn nhất là nó loại bỏ sự cần thiết phải chiến đấu với các hệ thống quản trị để có được các thiết lập đặc biệt được triển khai cho từng ứng dụng mà các dev tạo ra để giải quyết các vấn đề kinh doanh. Ngoài ra, đối với một sản phẩm mới mà tôi đang làm việc, nó mang lại cho chúng tôi sự hỗ trợ đa nền tảng mà chúng tôi đang tìm kiếm kể từ khi thành lập. –

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