在 XBAP 中刻录 CD

Posted

技术标签:

【中文标题】在 XBAP 中刻录 CD【英文标题】:CD Burning within an XBAP 【发布时间】:2011-04-07 06:20:12 【问题描述】:

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

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

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

有人对我错过/做错了什么有任何想法吗?

更新:

我尝试创建一个新的测试证书,并将其安装在我的证书存储中,然后针对它签署 XBAP,但这没有任何区别。

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

进一步更新:

我创建了一个可以刻录 cd 的控制台应用程序。脱壳到这个控制台应用程序允许我从我的 xbap 刻录 cd,但不能从 xbap 本身刻录。

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

谢谢

【问题讨论】:

【参考方案1】:

我相信 XBAP 不可能做到这一点。根据MS documentation on XBAPs,

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

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

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

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

当您通过 Internet 运行 XBAP 时,您会遇到问题 3:尝试与非托管代码进行互操作。

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


*编辑*

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

【讨论】:

【参考方案2】:

试着去

HKLM\SOFTWARE\Microsoft.NETFramework\Windows Presentation Foundation\Hosting

在注册表中

创建一个名为 RunUnrestricted 且值为 1 的新 DWORD。

【讨论】:

以上是关于在 XBAP 中刻录 CD的主要内容,如果未能解决你的问题,请参考以下文章

使用 ICDBurn 刻录 CD

linux下有没有类似ultraiso的可以刻录硬盘镜像的软件?

在 Windows XP 中使用 .NET 刻录 DVD 需要哪些基本 COM 组件?

将ISO映像刻录到CD

Burn for mac(DVD刻录软件)

使用Feurio刻录音乐CD 无损音乐FLAC