2012-03-20 83 views
1

我在網站中籤署我的Silverlight文件(.xap)時遇到了麻煩。我們在Intranet上部署這個網站,因爲我們正在訪問客戶端上的USB端口,所以我們肯定需要在客戶端機器上提升權限。silverlight 5簽署xap文件

我讀過,它可以通過創建一個證書,並在客戶端計算機上安裝它做,我也跟着下面的文章:http://msdn.microsoft.com/en-us/gg315158。出於測試目的,我創建了一個基本的Silverlight控件,根據客戶端配置顯示「您已升高」或「您沒有升高」。

現在我的問題是,我用我的.pfx文件簽署我的XAP文件,到Visual Studio,但我還沒有在客戶機上的提升的權限。在我的機器,我收到「您升高」的消息,因爲有些開發配置我猜...

我想我的客戶機上手動安裝我的證書,但它仍然無法正常工作。

當訪問我的網站,Silverlight控件啓動,但顯示的是我不是在提升的模式。它不會彈出任何消息,詢問用戶拿到證書或什麼...

我缺少什麼?

+0

嘿!我有同樣的問題(http://stackoverflow.com/questions/12142523/getting-a-system-net-sockets-socketexception-for-connect-operation) - 你能找到解決你的問題? – 2012-08-27 14:05:07

+0

我買了一個證書(verisign),並用它簽了我的xap文件......我不得不像Rumplin那樣在下面的答案中添加註冊表項......因爲它是由認證機構簽署的,所以你不會再收到任何警告了...你嘗試過嗎? – 2012-08-27 19:55:02

+0

官方證書可能是問題:)不過我沒有得到我的自簽名證書的任何警告......它只是不工作,吐出*否*警告... – 2012-08-28 05:25:54

回答

2

轉到您的證書,並找到標籤受信任的發佈,您的證書應該有

每個客戶端應該有證書有。

一旦你檢查這一點,可以確認每個人都有這樣的證書,您應該運行此註冊表(64位):

Windows Registry Editor Version 5.00 

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Silverlight] 
"AllowElevatedTrustAppsInBrowser"=dword:00000001 

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Silverlight\Components] 

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Silverlight\Components\Debugging] 

(32位)

Windows Registry Editor Version 5.00 

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Silverlight] 
"AllowElevatedTrustAppsInBrowser"=dword:00000001 

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Silverlight\Components] 

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Silverlight\Components\Debugging] 

只需保存到某個.txt這文件並將其重命名爲.reg並運行它。 這應該解決您的問題。

+0

感謝您的評論。我indead有我的證書在這一節。我使用mmc來檢查這一點,並在受信任的發佈者中查看我的證書。它仍然沒有工作......任何想法? – 2012-03-20 10:15:51

+2

我使用我必須在Intranet上執行的註冊表補丁更新了我的安裝程序。 – Rumplin 2012-03-20 14:01:22

+0

再次感謝!不幸的是,仍然無法正常工作...我是否必須在我的開發機器上註冊我的證書?它只能在IIS Web服務器上工作嗎?我簡單地按照教程創建了我的密鑰,然後我在Visual Studio中籤署了我的xap文件,然後按Ctrl + F5啓動我的網站...然後從我局域網上的另一臺計算機上,嘗試顯示我的網站,因此我的xap文件... xap文件啓動,但告訴我,我沒有提升的權利... – 2012-03-20 14:41:52