我有一个需要能够刻录CD的XBAP。从Visual Studio内部运行时,一切正常。但是,从浏览器运行时,IMAPI dll会在尝试访问驱动器时报告不支持该环境。
我假设这归结为允许。我有一个已安装的签名证书,并且xbap设置为作为完全信任的应用程序运行(虽然我猜它不能或我不会遇到这个问题)。
目前,这一切都在我的本地计算机上运行,但最终我希望将其部署到Web服务器上(所有用户都已经在其客户端上安装了证书)。
有没有人对我错过/做错了什么有任何想法?
更新
我已经尝试创建一个新的测试证书,我已经在证书库中安装了该证书,然后针对它签署了XBAP,但它没有任何区别。
如果有人有任何想法,真的可以做到吗?
进一步更新:
我创建了一个能够刻录cd的控制台应用程序。对这个控制台应用程序进行控制允许我从xbap中刻录cd,但不能从xbap本身内部刻录。
但是,这真的不是我想要的。理想情况下,我希望将所有这些包含在xbap中。如果失败了,有没有办法在xbap的单击部署中包含控制台应用程序?
由于
答案 0 :(得分:2)
我认为这不可能与XBAP有关。根据{{3}},
权限示例不可用 在互联网区:
FileIOPermission - 此权限控制读取和写入磁盘上文件的能力。因此,Internet区域中的应用程序无法读取用户硬盘上的文件。
RegistryPermission - 此权限控制读/写注册表的能力。因此,Internet区域中的应用程序无法访问或控制用户注册表中的状态。
SecurityPermission.UnmanagedCode - 此权限控制调用本机Win32函数的能力。
当您通过互联网运行XBAP时,您将遇到问题#3:尝试与非托管代码互操作。
我建议您将应用程序部署为ClickOnce的独立应用程序。这样,您就可以完全访问系统,但仍然可以像使用XBAP一样轻松部署和升级。
*的 修改 * 强>
您可以尝试一件事 - 我不能保证它会起作用 - 但您可以让您的用户进入IE Internet选项,将您的站点添加到可信站点列表。我打赌你的CD刻录代码会起作用,因为它将在受信任区域,而不是互联网区域。
答案 1 :(得分:0)
尝试去
HKLM \ SOFTWARE \ Microsoft.NETFramework \ Windows Presentation Foundation \ Hosting
在注册表中
创建一个名为RunUnrestricted的新DWORD值为1。