为了满足"乔尔测试"问题#2"你能一步构建一个构建吗?",我正在尝试完成一个候选版本构建脚本,从收集的文件集合中创建一个CD iso.由安装程序创建者生成.
似乎有许多好的工具(许多免费的)会创建ISO,但我需要找到一个可以在Windows命令行运行的工具,这样我就可以将它集成到由Cruise Control引发的NAnt构建脚本中.
构建环境是:
Windows Server 2003
.NET 1.1 - 3.5(我们正在创建的应用程序基于2.0构建)
NullSoft安装程序(NSIS)
CruiseControl.net
楠
我一直在谷歌上搜索,但还没有运气.
有人有推荐吗?
试试mkisofs.这是cdrecord项目的一部分.
Blatant插件,但我刚刚发布了一个可以创建ISO文件的OpenSource C#库的alpha版本.不直接与Nant集成,但你可以结束库来实现这一点.Theres是一个从目录结构创建ISO的示例应用程序(ISOCreate),但此示例也可以帮助您入门:
CDBuilder builder = new CDBuilder(); builder.UseJoliet = true; builder.VolumeIdentifier = "A_SAMPLE_DISK"; builder.AddFile(@"Folder\Hello.txt", Encoding.ASCII.GetBytes("Hello World!")); builder.Build(@"C:\temp\sample.iso");
.NET DiscUtils(在GitHub上)
获取mkisofs 在此处下载它是Cdrtools的一部分.适用于大多数平台.用例:
mkisofs -v -dvd-video -V "VOLUME_NAME" -o "c:\my movies\iso\movie.iso" "c:\my movies\dvd" mkisofs -r -R -J -l -L -o image-file.iso c:\project\install
我发现了一种非常简单的方法,它不需要Cygwin:CDBurnerXP
它并没有真正在网站上做广告,但它包括一个命令行版本,如cdbxpcmd.exe
.还有一些关于命令行选项的文档.
特别感兴趣的是-iso
和-format
选项; 使用类似的东西:
cdbxpcmd --burn-data -folder:input -iso:output.iso -format:iso -changefiledates
生成output.iso
从文件input
夹中的文件调用的ISO
命令行工具似乎不允许您直接制作可引导CD.但是,如果您知道您的文件列表不会更改(即只有这些文件的内容),您可以尝试以下(未经测试):
加载CDBurnerXP GUI版本
以交互方式添加文件
选择光盘 - >刻录选项...
设置启动映像
选择File-> Save以创建DXP文件(这是CDBurnerXP的编译格式)
然后,您可以使用以下命令
cdbxpcmd --burn-data -layout:mycompilation.dxp -iso:output.iso -format:iso
如果你想成为微软上瘾(不安装其他软件).您可以使用IMAPI,在Windows中构建来刻录图像.有关脚本IMAPI的其他信息可以在MSDN中找到