2010-09-02 70 views
6

我有一個XBAP需要能夠刻錄光盤。從Visual Studio內部運行時,一切正常。但是,從瀏覽器運行時,IMAPI dll會在嘗試訪問驅動器時立即報告不支持該環境。CD刻錄在XBAP內

我假設這是歸結爲許可。我有一個我已經安裝的簽名證書,並且xbap被設置爲以完全信任的應用程序運行(儘管我猜測它不能或者我不會遇到這個問題)。

目前這一切都在我的本地機器上運行,但是最終我希望將其部署到Web服務器(所有用戶已經在其客戶機上安裝了證書)。

有沒有人有任何想法,我已經錯過了/做錯了?

更新:

我曾嘗試創建我已經安裝在我的證書存儲,然後與它簽署XBAP一個新的測試證書,但它沒有什麼區別。

真的可以做一些想法,如果任何人有任何?

進一步更新:

我創建了一個控制檯應用程序,它能夠刻錄CD的。剔除這個控制檯應用程序允許我從我的xbap中刻錄cd,但不能從xbap本身中刻錄。

但是,這真的不是我想要的。理想情況下,我希望將所有這些包含在xbap中。否則,有沒有辦法在xbap的一鍵式部署中包含控制檯應用程序?

謝謝

回答

2

我相信這是不可能做到與XBAP。據MS documentation on XBAPs,在Internet區域不可 權限

例子:

  • 的FileIOPermission - 此權限控制讀取和磁盤寫入文件的能力。因此,Internet區域中的應用程序無法讀取用戶硬盤上的文件。

  • RegistryPermission - 此權限控制讀取/寫入註冊表的能力。因此,Internet區域中的應用程序無法訪問或控制用戶註冊表中的狀態。

  • SecurityPermission.UnmanagedCode - 此權限控制調用本機Win32函數的能力。

當你在互聯網上運行XBAP,你會打的問題#3:嘗試與非託管代碼互操作。

我建議使用ClickOnce將您的應用程序部署爲獨立應用程序。這樣,您可以完全訪問系統,但仍然可以像使用XBAP一樣輕鬆進行部署和升級。


* 編輯 *

有一兩件事你可以嘗試 - 我不能保證它會工作 - 但你可以有你的用戶進入IE瀏覽器Internet選項,添加站點到受信任的站點列表。我敢打賭,您的CD刻錄代碼將會工作,因爲它將位於可信區域,而不是Internet區域。

0

嘗試將

HKLM \ SOFTWARE \ Microsoft.NETFramework \的Windows Presentation Foundation \註冊表中的主機

創建一個名爲新的DWORD值爲RunUnrestricted 1