Re: burning DVD failure



Thank you, Alex, I appreciate it. I really do need education on the DVD
burning. A lot of inefficiency results from my skirting the issue.

I do have Nero. I think it is 7 and I also have an external HP DVD writer
x40, pretty new, still unpacked. You think it would be better to use that
one? Will it be able to handle an iso image?

All said and done for software issues such as MSDN downloads I prefer to
deal with scripts or .NET classes. I feel safer with them and a sort of an
assurance that I do understand what is going on.

Many thanks again.
--
AlexB


"Alex K. Angelopoulos" wrote:

Nice work on the information display. I think you narrowed the problem down
pretty well anyway, at this point.

The hollow incident - that sounds like purely a bad burn problem back when:
bad disc/drive/memory corruption. From your remark below about the hollow
burn incident back when, that sounds like a classic bad-write-to-disc
problem. AFAIK the only way to test that in general is to do what tools like
Nero do: read the entire disc back after write to confirm that it's ok. That
should be possible from script without an awful lot of trouble.

From the other posts I suspect that we know the problem. I think it really
was an issue with not having enough memory to do everything if writing a
really large file. The ideal way to do this would be to not load it all up
front, but it's not feasible to directly read and write chunks;
step-by-step, since you can't pause a burn. There may be a better way to do
this with the stream if buffering can be offloaded to the stream somehow.
I'll check that out when I have a chance - probably this evening late.

"AlexB" <AlexB@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:8CFC657B-F317-4B4E-81C7-509446A88921@xxxxxxxxxxxxxxxx
OK, More information:

I used this script to determine the DVD mount parameters:
It is a well known TechNet script:

Const IMAPI_PROFILE_TYPE_CDROM = &H8
Const IMAPI_PROFILE_TYPE_DVDROM = &H10
Const IMAPI_PROFILE_TYPE_CD_RECORDABLE = &H9
Const IMAPI_PROFILE_TYPE_DVD_PLUS_RW = &H1A

Set colDiscMaster = CreateObject("IMAPI2.MsftDiscMaster2")

For Each Id In colDiscMaster

Set objRecorder = CreateObject("IMAPI2.MsftDiscRecorder2")
objRecorder.InitializeDiscRecorder Id

WScript.Echo "Vendor: " & objRecorder.VendorId
Wscript.Echo "Product ID: " & objRecorder.ProductId
Wscript.Echo "Product Revision: " & objRecorder.ProductRevision
For Each strMountPoint In objRecorder.VolumePathNames
Wscript.Echo "First Mount Point: " & strMountPoint
Exit For
Next
For Each Profile In objRecorder.SupportedProfiles
Select Case Profile
Case IMAPI_PROFILE_TYPE_CDROM
Wscript.Echo "IMAPI_PROFILE_TYPE_CDROM"
Case IMAPI_PROFILE_TYPE_DVDROM
Wscript.Echo "IMAPI_PROFILE_TYPE_DVDROM"
Case IMAPI_PROFILE_TYPE_CD_RECORDABLE
Wscript.Echo "CD-R"
Case IMAPI_PROFILE_TYPE_DVD_PLUS_RW
Wscript.Echo "DVD+RW"
End Select
Next
Wscript.Echo

Next


The one with RW properties is DVD+ RW DVD8631. Version 9D03.
IMAPI_PROFILE_TYPE_DVDROM.

I will read more of your post and try to answer other questions.

BTW, when I said that I observed (this time) that the burning began, I
only
saw the mounting memory consumption in the wscript running in Task
Manager.
othing appeared onthe disk itself after it was aborted. When I tried to
burn
again it accepted this disk as fresh.

When I mentioned the "hollow" media it was after I tried to use Windows
Media Player to burn a different image, also an MSDN download, also a huge
iso file, Visual Stusio 2008, about 5 months ago. It was over 2Gbs but not
as
large as this one. I finally got a DVD in the mail and installed it from
there.

Thanks.

--
AlexB


"Alex K. Angelopoulos" wrote:

"AlexB" <AlexB@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:39D7E845-5BEF-4E95-A391-16AD6FFA1C19@xxxxxxxxxxxxxxxx
Hi there,

I just attempted to burn a DVD on my DELL GX-280 with 2Gb of RAM,
3.8Ghz
CPU. I used a Wscript as such:
.....
The burning began and while watching the process in the Task Manager I
saw
a
huge increase in Memory (Working Set Memory, I think) up to 1.8Gb. Then
after
a few minutes an exception was thrown from WScript: Out of Memory.

I can't replicate your problem directly. I _did_ run your script,
slightly
modified, and burned a test CD with it with absolutely no problems. The
CD
was an Ubuntu x64 server bootable install disc, and it worked fine when I
used it as a boot disc. This means that your script itself is likely not
the
problem.

I'm going to try burning a couple of test DVDs with this process to see
if
it works, but I suspect that your script is fine; it worked beautifully
when
I tried it. I'm suspicious that one of the elements in the chain of
hardware
and software you use is causing a problem. Here are a few
questions/comments.

... I've burned some picture images on this machine and attempted to
burn iso images but they all came out sort of hollow, although the
eventual
file size was close to what I expected the data did not seem to be
there
and
I could not use the DVD to install the software.

"Hollow" is a pretty good word for a specific situation that can happen
with
burned discs. Since CD/DVD media are theoretically more-or-less static
media, the table of contents is essentially static as well - and the
information such as file location and size is written to the TOC as part
of
the burn process. This is why even when you burn optical media and get a
failure, the disc often appears to be ok. The file descriptions are
there;
it's just the data that's bad.

What you _didn't_ tell us was whether you saw file contents on the DVD
you
tried to burn that failed.

Is it a known issue?

AFAIK, not at all.

Is it possible to improve the script?

I thought you did a pretty good rewrite. It's slightly different from my
style and I'm playing with it now - I'll post back a variation in this
thread after I explore a couple of things I think would be nice to
control.

Are there other scripts out there that can do the same?

None that I've seen. There's a CDRecorder tool someone has and a couple
of
commandline tools from Microsoft I believe, as well as mkisofs, but I
haven't seen a complete, robust IMAPI WSH script - although I haven't
been
in newsgroups much the last year.

When I did a CD burn, I found that the memory used by the process rapidly
climbed to slightly above the size of the ISO file by the time it was
loaded - file was ~522 MiB, and initial RAM used was ~531 MiB. This went
up
to 562 MiB by the end of the burn. This at least tells us that there's
not
something suspicious going on with the VBScript storing the stream as
Unicode.

Since you saw a continual rise in memory, I suspect that there were
problems
with writing the data to disc. My guess is that it's one of the
following:
+ The index of the CD burner is not 1 on the machine (it can vary when
particular PnP devices, including some USB flash drives, are installed or
removed). Since you probably saw the recorder light flashing and saw that
the DVD did appear to have a partial burn on back, this isn't the likely
reason.
+ The CD writer is having trouble writing reliably to the disc. The most
likely causes are the following (and note that manufacturer ratings for
CD/DVD recorders and media are often slightly fictional):
- CD/DVD writer is malfunctioning/dirty; I'm not a big fan of cleaners,
so
only try to clean it as a last resort.
- The recorder or the media (or the combination of them both) cannot
write
the ISO reliably. This could be due to deficiencies in the recorder or
the
media at the burn speed being used for it. It's most likely to cause
problems for data written near the outer edge of the disc on modern,
constant angular velocity recorders.

Some questions for you:
(1) What OS version/bitness does the machine have? I'm using Vista x64.
(2) Have you tried test burning a small CD image on the machine?
(3) What is the recorder model and what's the type of DVD media you're
using - DVD+R, DVD-R?
(4) Are you certain that the DVD recorder has index 1? You can check the
machine with the following script (you've probably done this already, of
course).

Dim DiscMaster, i
Set DiscMaster = CreateObject("IMAPI2.MsftDiscMaster2")

for i = 0 to Discmaster.Count - 1
WScript.Echo i, Discmaster.Item(i)
next




.


Loading