C/C++ Runtime (CRT) Dependencies
The PrimoBurner assemblies: PrimoBurner.clr4.dll and PrimoBurner.clr4.x64.dll installed with PrimoBurner.3.5.1.CLR4.VC100 and PrimoBurner_x64.3.5.1.CLR4.VC100 setup packages use but are not bound to a specific version of Microsoft.VC100.CRT
For more information and download links, please go to:
- for VC100 CRT (x86) go to:
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=a7b7a05e-6de6-4d3a-a423-37bf0912db84
- for VC100 CRT (x64) go to:
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=bd512d9e-43c8-4655-81bf-9350143d5867
The PrimoBurner assemblies: PrimoBurner.clr2.dll and PrimoBurner.clr2.x64.dll installed with PrimoBurner.3.5.1.CLR2.VC90 and PrimoBurner_x64.3.5.1.CLR2.VC90 setup packages use Microsoft.VC90.CRT, version 9.0.30729.4148.
For more information and download links, please go to:
http://www.microsoft.com/downloads/details.aspx?familyid=2051A0C1-C9B5-4B0A-A8F5-770A549FD78C&displaylang=en
The PrimoBurner assemblies: PrimoBurner.clr2.dll and PrimoBurner.clr2.x64.dll installed with PrimoBurner.3.5.1.CLR2.VC80 and PrimoBurner_x64.3.5.1.CLR2.VC80 setup packages use Microsoft.VC80.CRT, version 8.0.50727.4053.
For more information and download links, please go to:
http://www.microsoft.com/downloads/details.aspx?familyid=766A6AF7-EC73-40FF-B072-9112BAB119C2&displaylang=en
The PrimoBurner SDK setup package (MSI) already includes and installs the appropriate CRT. However when the PrimoBurner.NET assembly is deployed via different means (not through the PrimoBurner SDK setup), it has to be ensured that the correct version of the CRT is present on the target machine. One way to achieve this is to use the VC++ redistributives linked above (vcredist_x86.exe and vcredist_x64.exe). They contain the CRT version used by PrimoBurner.NET.
Version 3.6.1
Fixed
- 2064: Wrong logic in Device.EndBDTrack(bool closeTrack).
- 2063: DiscCopy reports "Invalid image file" when reading DVD images
Version 3.6.0
New
- 2028: BluRayBurner.NET sample update
- 1994: Add BD copy functionality in DiscCopy interface
- 1984: Implement device change notification handling as part of PrimoBurner.NET SDK (added Engine::OnDeviceChange and Engine::OnMediaChange events)
Version 3.5.9
New
- 1974: Video DVD: add method/property to define whether to perform strict or loose validation of the Video DVD structure
- 1972: Define code page to use when writing/reading CD-Text
- 1971: Add method to get/set CD-Text language
- 1647: Update .Net samples with GetErrorMessage
Fixed
- 1969: Video DVD: Reading IFO structure throws an exception if the structure is invalid
- 1968: ISO 9660 issue: files with no extensions are recorded with ";1" at the end of their names instead of ".;1"
- 1960: Write Video DVD structure with lower case filenames.
Version 3.5.7
New
- 1846: Deprecate VideoDVDError.VideoTsVobSize error code and add new error codes for the cases when VideoDVDError.VideoTsVobSize was previously reported.
The new codes are:
VideoDVDError::VtsVobNotFound,
VideoDVDError::VtsVobNotExpected,
VideoDVDError::VtsVobIfoIncorrectSize
Fixed
- 1851: Disconnecting external device results in freezing
- 1847: Calling Device.MediaCapacity for DVD-ROM DL reports only the blocks from the first layer
Version 3.5.6
New
- 1815: AudioCD: Hidden track: allow user data in the first two seconds of the pregap
- 1811: Exclusive device access for Windows Vista and Windows 7
- 1805: BlockDevice trace log
Fixed
- 1818: Device: On some devices GetWriteSpeeds returns unusually high speeds for CD media
- 1813: BlockDevice: EndDVDTrack takes a long time on Windows 7 64Bit
Version 3.5.5
Fixed
- 1768 DataDisc - burning large image files with file size greater than 4 GB fails
Version 3.5.4
New
- 1757: Add 'Create hidden track' feature to AudioBurner sample
Version 3.5.3
Fixed
- 1706 Change UDF implementation to support files with unlimited fragments (extents).
Minimal OS requirements
- PrimoBurner.clr4 - Windows XP SP3, with .NET Framework 4.0 installed
- PrimoBurner.clr2 - Windows XP SP2, with .NET Framework 2.0 installed
Version 3.5.1
New
- 1707: .NET: Create .NET 4.0 wrapper. Add Visual Studio 2010 sample projects.
- PrimoBurner.NET libraries now have targets for CLR2 and CLR4 and not for .NET framework versions.
- CLR2 assemblies - PrimoBurner.clr2.dll (32bit) and PrimoBurner.clr2.x64.dll (64bit)
- CLR4 assemblies - PrimoBurner.clr4.dll (32bit) and PrimoBurner.clr4.x64.dll (64bit)
- The clr2 assemblies depend on either VC80 or VC90 CRT.
- PrimoBurner.clr2 assemblies with VC80 CRT dependency replace PrimoBurner.NET.2.0 assemblies
- PrimoBurner.clr2 assemblies with VC90 CRT dependency replace PrimoBurner.NET.3.0 and PrimoBurner.NET.3.5 assemblies
- The clr4 assemblies are to be used in .NET 4.0 projects.
Version 3.0.8
New
- 1654: Extend AudioCD to allow audio ripping in WAV, WMA and OGG using the new PrimoAudio writer plug-ins.
- 1649: AudioCD - ability to set index 1 (pregap) for the first track (allows creation of hidden track)
- 1619: DataBurnerCmd.NET and DataReaderCmd.NET samples added
- Added: TrackInfoEx - added layer jump information, last recorded address and next writable address details
- Added: LayerJumpRecordingStatus enum - defines layer jump recording status (used for DVD-R DL media)
- Added: Device.MediaLayerCapacity readonly property - returns the layer 0 (L0) capacity for DVD+R DL and DVD-R DL media
- Added: DataFile.Find method - allows searching for items within a DataFile tree
Fixed
- 1387: Report errors in AudioCD when WriteToCD fails to read the input audio file
Deprecated Classes
The following classes and enumerations have been deprecated and will be removed from the next version PrimoBurner:
AudioFile - replaced by the AudioInput class
AudioFileList - replaced by the AudioInputList class
AudioSourceType - replaced by the AudioStorageType enum
Deprecated Methods
The following methods have been deprecated and will be removed from the next version PrimoBurner: Library
CreateAudioFile - Please use the CreateAudioInput method
IAudioCD:
GetFileLength - Please use the GetInputLength method
AudioFiles - Please use the AudioInputs property
ErrorFile - Please use the ErrorInput method
AudioInput(was AudioFile):
AudioSource - Please use the StorageType property
Deprecated Enum Values
The following enumeration values have been deprecated and will be removed from the next version PrimoBurner:
TrackInfoEx:
Reserved1 - not used anymore
Reserved2 - not used anymore
FixedPacket - Please use the TrackInfoEx.IsFixedPacket field
Packet - Please use the TrackInfoEx.IsPacket field
Blank - Please use the TrackInfoEx.IsBlank field
ReservedTrack - Please use the TrackInfoEx.IsReserved field
CTL - Please use the TrackInfoEx.TrackMode field
AudioCDStatus:
InitializingAudioDecoder - not used anymore
AudioCDError:
InvalidSourceFiles - Please use the AudioCDError.NoInput value
NoSourceFiles - Please use the AudioCDError.NoInput value
SourceFileError - Please use the AudioCDError.InputError value
Version 3.0.7
New
- 1632: Add ability to read media Id of DVD and Blu-ray Discs
- 1626: Use Device.GetErrorMessage in samples
- 1625: Add GetErrorMessage method to Device
- 1613: Add PrimoBurner version to file systems' developer ID string
- 1571: Reorganize samples
- 1554: Indicate the version is .NET in the log file
Fixed
- 1527: DataBurnerEx.NET sample: Incorrectly enabled ISO/Joliet controls
- 1510: Update the AudioCDBurner.NEt and ReadCDText.NET samples to use the new CdTextType.GenreText attribute
- 1505: Write CD+G data when copying CDs (RAW only)
- 1460: Add missing SCSI sense errors to DeviceError enumeration
Version 3.0.6
Fixes
- 1560: Device.GetWriteSpeeds() does not return all possible write speeds
- 1526: DataBurnerEx.NET: Not all labels are fully visible when working under 120 DPI
- 1516: Add the values of enum constants to the documentation.
- 1275: TrackInfoEx.RecordedSize is not correct for DVD+R, CD-R, CD-RW
- 822: Device.MaxWriteSpeedKB is not correct for some devices
Version 3.0.5
Fixes
- 1546: Read device buffer capacity only when burning is in progress.
- 1535: Mac: Samples: XCode2: DiscCopy sample does not start.
- 1523: Trace log enhancements
- 1520: Log the MMC error, the current write address and the number of blocks when write command fails.
- 1498: Retry write command after some MMC errors
- 1494: HL-DT-ST, BD-RE GGW-H20N vXJ03: 0x030C02 WRITE ERROR – AUTO-REALLOCATION FAILED
- 1491: DiscCopy: Write CD-TEXT when copying CD in RAW mode
- 923: DataDisc: file progress reports PercentWritten over 100%.
Version 3.0.4
New Features
- 1492: Added new GenreText = 0x90 member to CdTextType enumeration. Use CdTextType.GenreText for getting/setting the genre description. To get/set the genre code use the CdTextType.Genre attribute.
- 1436: DiscCopy can now copy DVD-R DL discs recorded in "Layer Jump" mode.
Fixes
- 1497: The following ISO9660 issues were fixed:
- 1) (ref. ISO 8.4.26.1) Date Time format has an incorrect Year attribute: The value must be in the range 1..9999
- 2) (ref. ISO 6.8.1.3) The length of the directory is incorrect.
- 3) (ref. ISO 7.2) In each fixed-length field the content of which is specified, the characters shall be left-justified and any remaining byte positions on the right shall be set to (20).
- 4) (ref. ISO 9.3) The records of a Directory shall be ordered according to the value of the File Identifier.
- 5) (ref. DVD-2 3.7.3 (RPB 8)/A-15) The Path Table Records specified no Directory Identifier
- 6) (ref. DVD A.14) The System Use field must contain the Copyright Management Information
- 1492: CD-Text genre writing/reading is broken.
- 1386: AudioCD reports wrong burn progress when burning in Track-At-Once (TAO) mode.
- 1385: An empty track is written if the audio input is a stream, decoded in memory and a CD session has not been specified.
- 1378: DiscCopy: When the source disc originally contains a session with several tracks in it, the destination disc will have several sessions with one track in each session.
- 672: DataDisc.ImageLayout property returns an image layout with wrong file creation times
Version 3.0.3
New Features
- DataDisc now supports all UDF revisions up to UDF 2.6.
- Burning Blu-ray Video file structure from BDMV and BDAV folders is now supported.
- BlockDevice supports all types of Blu-ray media.
- New DiscCopy interface for easy CD and DVD disc copying. Supports disc-to-image, image-to-disc and disc-to-disc direct copy.
Breaking Changes
- Multi extent UDF files support: The extents collection must contain ALL UDF extents. Version 2.5X uses DataFile.FileSize and DataFile.DiscAddress to describe the first UDF extent. In version 3.X.X, DataFile.FileSize is the sum of all extents size (i.e. the total file size).
- In version 2.5X, DataDisc.ImageSizeInBlocks reports the loaded image size. In version 3.X.X, use the new DataDisc.LoadedImageSizeInBlocks property.
Fixes
Version 2.58
Fixes
- 1426: Device enumeration hangs and in some cases the device is lost and a system reboot is required. This happens only on Windows XP SP2 and with LG devices only.
- 1425: Device enumeration takes long time (30 seconds) on Windows Vista. This happens with some LG devices, but other vendors may be affected too.
Version 2.55
Fixes
- 1366: DataDisc does not use all the space on fully formatted DVD-RW RO media.
- 1342: Device.ReadCDSessionLayout always scans indexes.
Version 2.54
Fixes
- 1327: Test burn of data in CD Track-At-Once mode fails.
- 1325: CD ISRC and MCN codes not recorded accurately.
- 1324: The .Net 2.0 64bit DataBurner sample hangs.
- 1319: DVDFeatures.CanReadDVDRam not correct with some devices.
- 1318: DVD-RW RO: After quick format Device.MediaIsBlank returns false.
- 1314: DVD-RW RO: Write fails if the disc is fully formatted on SONY BDRW BWU-100A 1.0a.
- 1279: CD writing modes not detected on Samsung SH-S162L.
- 924: Device.InternalCacheUsedSpace returns wrong value on some SONY devices.
Version 2.53
New Features
- 1323: Added Device.CDFeatures property. The new property gets the CD read/write capabilities of the device. For more information please see the CDFeatures documentation.
- 1278: Added Engine.CreateDeviceFromHandle to allow creating Device instance from operating system handle.
Version 2.52
Fixes
- 1213: CD-TEXT is not written properly if album text has not been set.
- 1212: Force device power calibration before DVD-RW erase and format.
- 1210: DVD-RW RO: TrackInfoEx.RecordedSize value is wrong.
- 1208: Memory leak in DataFileRipping sample.
Version 2.51
New Features
- Added Visual Studio 2008 projects.
- Support for .NET Framework 3.0 and 3.5, 32 bit and 64 bit.
Fixes
- 1068: File extensions in AudioPlugins.config should not be case sensitive.
Version 2.50
New Features
- Windows: Device enumeration has been rewritten to use the SetupDiXXX API.
- AudioCD was enhanced to use PrimoAudio plugins. Currently there is DirectShow plugin for Windows and CoreAudio plugin for Mac. Plugins for different audio formats will be added in the future. For more details, see the documentation of the new AudioFormat, AudioFile and AudioPluginInfo interfaces.
Breaking Changes
- Device.UnitReady returns int instead of DeviceError
- Device.LastError returns int instead of DeviceError
- AudioCD.LastError returns int instead of AudioCDError
Fixes
- 1128: BlockDevice sample sets wrong file size when files are bigger than 4GB. The problem is in the sample code.
Version 2.22
New Features
Fixes
- 1137: RAW CD burning produces discs with unreadable second session. This happens only when CDSession raw points are not set.
- 1062: DataDisc.WriteToDisc leaks memory.
- 970: Problem with CD-Text on Optiarc AD-7200A
- 927: CdTextGenreCode - SpokenWord has wrong value and SoundTrack is missing.
Version 2.21
Fixes
- 696: MediaInfo.DvdCssCppm returns true, regardless of whether a disc is CSS-protected or not. This happens on most TSSTcorp and some PIONEER devices.
Version 2.20
Breaking Changes
- Microsoft .NET 1.1 is no longer supported.
- The name of the PrimoBurner assembly changed from hpCDE.NET.2.0 and hpCDE_x64.NET.2.0 to PrimoBurner.NET.2.0.dll and PrimoBurner.NET.2.0.x64.dll.
- SpeedDescriptor no longer implements IDisposable (i.e. there is no Dispose method).
- SpeedCollection has been replaced by SpeedEnumerator.
New Features
- 997: Added UdfExtent and UdfExtentList interfaces. The new interfaces allow multiple extents to be specified for UDF files.
Deprecated Classes
The following interfaces, classes and enumerations have been deprecated and will be removed from the next version:
hpCDE - replaced by the Library class.
BDVersionEnumerator - replaced by the BDVersionList interface.
CDTrackMode - replaced by the CDMode interface.
DeviceCollection - replaced by the DeviceEnumerator interface.
SpeedCollection - replaced by the SpeedEnumerator interface.
DeviceCollectionError - replaced by the DeviceEnumError enumeration.
Deprecated Methods
The following methods have been deprecated and will be removed from the next version:
CDSession:
AppendTrack - Please use the Tracks property and the CDTrackList.Add method.
RemoveTrack - Please use the Tracks property and the CDTrackList.RemoveAt method.
GetTrack - Please use the Tracks and the CDTrackList.Item properties.
GetTracksCount - Please use the Tracks and the CDTrackList.Count properties.
RemoveAllTracks - Please use the Tracks property and the CDTrackList.Clear method.
CDTrack:
TrackStart - Please use the Start property.
TrackEnd - Please use the End property.
TrackLength - Please use the Length property.
TotalTrackLength - Please use the TotalLength property.
AppendIndex - Please use the Indexes property and the CDIndexList.Add method.
RemoveIndex - Please use the Indexes property and the CDIndexList.Remove method.
Item - Please use the Indexes and the CDIndexList.Item properties.
GetIndexCount - Please use the Indexes and the CDIndexList.Count properties.
RemoveAllIndices - Please use the Indexes property and the CDIndexList.Clear method.
AppendMode - Please use the Modes property and the CDModeList.Add method.
RemoveMode - Please use the Modes property and the CDModeList.Remove method.
GetMode - Please use the Modes and the CDModeList.Item properties.
SetMode - Please use the Modes and the CDModeList.Item properties.
GetModeCount - Please use the Modes and the CDModeList.Count properties.
RemoveAllModes - Please use the Modes property and the CDModeList.Clear method.
DataFile:
AddItem - Please use the Children property and the DataFileList.Add method.
RemoveItem - Please use the Children property and the DataFileList.RemoveAt method.
ItemIndex - Please use the Children and the DataFileList.IndexOf properties.
Item - Please use the Children and the DataFileList.Item properties.
Count - Please use the Children and the DataFileList.Count properties.
Device:
WriteClearBuffer - Please use the ClearOutputBuffer method.
WriteLockBuffer - Please use the LockOutputBuffer method.
WriteUnlockBuffer - Please use the UnlockOutputBuffer method.
EnableMediaChangeNotification - Please use the EnableMCN and DisableMCN methods.
GetSupportedWriteSpeeds - Please use the GetWriteSpeeds method.
Library(was hpCDE):
CreateCDTrackMode: Please use the CreateCDMode method.
Version 2.10
New Features
- 612: DataDisc.WriteImageToDisc and DataDisc.WriteImageToDiscEx will write Mode2 Form1 sectors when DataDisc.CdRomXA is set to true. This is valid for CD media only.
Version 2.09
New Features
- 675: UDF file access permissions should be set to READ/EXECUTE by default.
- 611: Added the UdfFileProps interface and the DataFile.UdfFileProps property. These new interfaces will allow setting of various UDF file properties. For now you can set only the file and directory access permissions.
Fixes
- 674: DataDisc sends the "Initializing" status twice when burning ISO image.
Version 2.08
New Features
- 627: Added Device.DVDFeatures property. The new property gets the DVD read/write capabilities of the device. For more information please see the DVDFeatures interface documentation.
- 590: Added Device.BDFeatures method. The new method gets the Blu-ray Disc read/write capabilities of the device. The following interfaces were also added: BDFeatures, BDVersionEnumerator and BDVersion. For more information please see the BDFeatres interface documentation.
Fixes
- 625: Burning produces unreadable discs on some devices when DVD+RW media is used.
- 542: Free space is not reported correctly for CD-R and CD-RW media.
- 539: Partially formatted DVD+RW is reported as blank.
Version 2.07
Fixes
- As of this release support for HFS has been discontinued.
- As of this release support for (S)VCD has been discontinued.
- All deprecated functions have been removed from the API. If you used such methods you will have to modify your code to use the corresponding functions in the new API.
- PrimoSoftware.HpCde namespace has been renamed to PrimoSoftware.Burner: VB.NET: Replace "Imports PrimoSoftware.HpCde" with "Imports PrimoSoftware.Burner"; C#: Replace "using PrimoSoftware.HpCde" with "using PrimoSoftware.Burner"
- HpCde class has been renamed to "Library". Where it used to be HpCde.CreateEngine() the call must now be changed to Library.CreateEngine(). Another solution is to use aliases. You can do that by inserting the line: C#: using HpCde = PrimoSoftware.Burner.Library; VB.NET: Imports HpCde = PrimoSoftware.Burner.Library - at the top of your code.
Version 2.06
Fixes
- 2176: Media not ejected if a DVD+RW background format is pending. This has been observed for MATSHITA drives but some other drives may be affected as well.
- 2170: Could not burn second session on CD using DataBurnerEx.NET and DataBurnerEx.VB.NET samples
- 2164: After interrupting a burning process, cannot burn DVD anymore without manually ejecting and inserting again the DVD.
Version 2.05
Fixes
- 2158: Device returns DeviceError.InvalidFormatType after the second fragment (session) on LG devices when using DVD-RW in Restricted Overwrite mode.
Version 2.04
New Features
- UDF filename encoding and allocation descriptors control via the new UdfVolumeSettings interface and the DataDisc.UdfVolumeSettings property.
Fixes
- 2079: System.Runtime.InteropServices.SEHException in DataCD.SetImageLayout(). This affects only the .NET Framework 1.1 build.
- 2078: Mac OS X: Device enumeration does not work on Japanese Mac OS X.
- 2051: Long filenames are cut to 94 characters(UDF) / 96 characters(Joliet).
- 2050: DataDisc.LoadFromFile fails with DataDiscError.InvalidStructure when reading certain Joliet images.
Version 2.03
Fixes
- 2021: DataBurner, DataBurnerEx, PacketBurnerEx samples: When trying to add a source folder, the application comes back with the message "Please select a valid path.".
- 1981: DataDisc.CreateImageFile causes memory exception when working with large number of files (> 10000).
Version 2.02
New Features
- Blu-Ray Disc burning, including: BD-R, BD-RE, BD-R DL and BD-RE DL at 1x and 2x.
- Fast device enumeration.
Fixes
- 1934: Unreadable characters resulting from IDataDisc::LoadFromDisc method when image on disc is ISO9660:1999.
Version 1.99.3
Fixes
- 1658: Unhandled exception on Windows ME/98SE when enumerating devices.
- 1659: In some cases, when adding data to DVD+RW media that was initially recorded with Nero Burning ROM, files may become corrupted. That happens only when DataDisc.DataOverwrite is true. The problem does not exist if the DVD+RW have been started using PrimoBurner engine. It is related to the way Nero records UDF file system structures.
Version 1.99.2
Fixes
- 1545: Intermittently device enumeration can take long time - between 3 min and 10 min.
Version 1.99
New Features
- Added Device.ReadPossible property. It allows you to detect whether the device reads CD-ROM, CD-R and CD-RW discs. Apparently some of the new Blu-ray burners do not read CDs which required the addition of this method.
- Modified Device.GetSupportedWriteSpeeds method to return the maximum write speed instead of empty collection for devices which do not report write speed descriptors.
Fixes
- 1489: DVD-RW media is detected as not blank on some NEC drives. The device reports more free space than the disc capacity.
- 1490: BlockDevice does not finalize properly DVD-RW formatted for Restricted Overwrite. That may cause DVD-RW to be unreadable by some DVD-ROM devices.
Version 1.98
New Features
- New ScsiInterface interface. It can be used to send SCSI command description blocks directly to the device. To create obtain a new instance of ScsiInterface use the Device.GettScsiInterface method.
- Enhanced read and write speed control. There is a new method of the Device class called GetSupportedWriteSpeeds. It returns a collection of speed descriptors for all write speeds supported by a device.
Fixes
- BUG: Unhandled exception on Windows Vista BETA2 CTP Builds 5270 and 5308.
Version 1.97
Fixes
- BUG: .NET edition does not use the UNICODE C++ libraries.
Version 1.96
Fixes
- BUG: File time of existing folders changes to the current date when deleting folders from an existing CD/DVD layout.
- BUG: File time of the special "." and ".." files is not set to the date of the corresponding folders from the disc layout.
- BUG: When burning DVD Video folders and if padding is required between some file the engine attempts to burn the padding sectors twice. This results in intermittent errors when burning DVD video on DVD-RW and DVD-R in Disc-At-Once mode.