C# 在XBAP中刻录CD

C# 在XBAP中刻录CD,c#,xbap,imapi,C#,Xbap,Imapi,我有一个XBAP,需要能够刻录cd。从VisualStudio内部运行时,一切正常。但是,从浏览器运行时,IMAPI dll会在尝试访问驱动器时立即报告环境不受支持 我想这应该归结为许可。我有一个已安装的签名证书,xbap被设置为作为完全信任应用程序运行(尽管我猜它不可能或者我不会有这个问题) 目前,这一切都在我的本地计算机上运行,但最终我希望将其部署到web服务器(所有用户的客户端上都已安装了证书) 有人知道我错过了什么/做错了什么吗 更新: 我已经尝试创建一个新的测试证书,我已经在我的证书存

我有一个XBAP,需要能够刻录cd。从VisualStudio内部运行时,一切正常。但是,从浏览器运行时,IMAPI dll会在尝试访问驱动器时立即报告环境不受支持

我想这应该归结为许可。我有一个已安装的签名证书,xbap被设置为作为完全信任应用程序运行(尽管我猜它不可能或者我不会有这个问题)

目前,这一切都在我的本地计算机上运行,但最终我希望将其部署到web服务器(所有用户的客户端上都已安装了证书)

有人知道我错过了什么/做错了什么吗

更新:

我已经尝试创建一个新的测试证书,我已经在我的证书存储中安装了这个证书,然后对XBAP进行了签名,但是没有任何区别

如果有人有什么想法的话,真的需要一些想法吗

进一步更新:

我创建了一个控制台应用程序,可以刻录cd。使用此控制台应用程序可以从xbap刻录cd,但不能从xbap内部刻录

然而,这真的不是我想要的。理想情况下,我希望所有这些都包含在xbap中。如果做不到这一点,是否有办法将控制台应用程序包括在xbap的一键式部署中


谢谢

我认为这在XBAP上是不可能的。根据,

权限不可用的示例 在互联网专区:

  • FileIOPermission-此权限控制读取和写入磁盘上文件的能力。因此,Internet区域中的应用程序无法读取用户硬盘上的文件

  • 注册表权限-此权限控制对注册表的读/写能力。因此,Internet区域中的应用程序无法访问或控制用户注册表中的状态

  • SecurityPermission.UnmanagedCode-此权限控制调用本机Win32函数的能力

当您在internet上运行XBAP时,您将遇到问题3:尝试与非托管代码进行互操作

我建议使用ClickOnce将您的应用部署为独立应用。这样,您可以完全访问系统,但仍然可以像使用XBAP一样轻松部署和升级


*编辑*

有一件事你可以试试——我不能保证它会奏效——但你可以让你的用户进入IE Internet选项,将你的站点添加到可信站点列表中。我打赌你的CD刻录代码会正常工作,因为它将位于受信任区域,而不是Internet区域。

尝试转到

HKLM\SOFTWARE\Microsoft.NETFramework\Windows演示文稿基础\Hosting

在登记处

创建名为RunUnrestricted的新DWORD,值为1