适用于Windows或.Net的好的dvd刻录组件是什么?

适用于Windows或.Net的好的dvd刻录组件是什么?,.net,windows,components,dvd,.net,Windows,Components,Dvd,我想将dvd刻录功能添加到我的.Net应用程序(在Windows Server 2003上运行)中,是否有好的组件可用?我曾经使用过Nero附带的NeroCOM sdk,但在Nero的最新版本中,它们不再支持sdk。我了解到微软已经为WindowsXP/2003创建了一个IMAPI2升级版,并且有一个at代码项目,但我自己没有使用过,我说不出它有多容易/可靠 我并不真的担心将音频/视频刻录到DVD,因为这只是为了文件备份目的。在我的上一份工作中,我的任务是找到一种跨平台、最好是免费的方式,将特定

我想将dvd刻录功能添加到我的.Net应用程序(在Windows Server 2003上运行)中,是否有好的组件可用?我曾经使用过Nero附带的NeroCOM sdk,但在Nero的最新版本中,它们不再支持sdk。我了解到微软已经为WindowsXP/2003创建了一个IMAPI2升级版,并且有一个at代码项目,但我自己没有使用过,我说不出它有多容易/可靠


我并不真的担心将音频/视频刻录到DVD,因为这只是为了文件备份目的。

在我的上一份工作中,我的任务是找到一种跨平台、最好是免费的方式,将特定于应用程序的文件写入cd/DVD。我很快发现,在windows上写CD并不难,但我不能轻松地写DVD,这只在windows上起作用

最后,我写了一个包装器来包装cdrecord,它是一个开源项目,可以很容易地用cygwin构建。我将创建一个暂存目录,在其中添加需要写入的文件,在该目录上名为mkisofs以制作cd iso,然后名为cdrecord以刻录映像。如果你有一个严格的windows用户,这可能不是最好的解决方案,但这是我能找到的唯一一个可以使用windows、Linux和OSX的解决方案


另一个选择是,我下载了试用版并使用了它,效果很好,但最终它不是免费的,所以对我来说太贵了。

你的cdrecord方法支持dvd刻录吗?有没有一种简单的方法可以通过应用程序重新分发/安装cygwin?乍一看,StarBurn看起来相当不错,尽管我对使用未经验证的库有点犹豫,因为这些库必须处理如此复杂的事情(特别是现在存在的媒体类型),StarBurn公文包页面有点不稳定。

我的cdrecord方法确实支持dvd刻录,我只是看了一遍代码,天哪,我忘了我在那门课上花了多少时间和精力

cdrecord烧录任何类型的媒体都没有问题,但由于它是一个独立的应用程序,我必须进行大量解析才能获得有用的信息。如果您感兴趣,我可以挖掘我使用的标志和不同的调用,但不幸的是,我无法共享源代码,因为它是为商业项目开发的

在查看代码时,我还被提醒我将表单cdrecord(cdrtools)切换到了wodim()。wodim是几年前由debian团队开发的cdrecord的一个分支,因为cdrecord放弃了GPL许可证

正如我在作为商业应用程序的一部分发布之前所说的,我们对GPL的解释是,只要您的程序可以在没有外部二进制文件的情况下运行,您就可以从程序中调用外部二进制文件,而不会出现问题(如果找不到cdrecord,我们会弹出一个对话框,通知用户燃烧功能不可用),我们还必须托管cdrkit和cygwin的源代码,并在我们的分布式程序中包含一份GPL副本。因此,基本上我们不会进行“衍生工作”,我们将完全按照原样编译cdrkit代码,然后使用生成的二进制文件


就StarBurn SDK而言,我演示了它,但我没有将它用于已发布的产品,因此我不能给出建议或说更多的话,因为它确实有效

我使用了codeproject中的代码,它工作得非常好。它是围绕IMAPI2的一个很好的包装器,因此只要IMAPI2支持您需要做的事情,.NET包装器就可以做到这一点。