Burning and Erasing CD/DVD/Blu-ray Media with WPF

Edit 22AUG2017, since the initial source on CodePlex is about to be shut down, I have moved this project to git available here: https://github.com/lukhezo/wpf-burner

I have also modified the theming a little










Original Post:

Some time ago I worked on a project where I needed a DVD burner/formatter, and came across an open source version by Eric Haddan. The only problem with that excellent solution was that it was written in winforms ,and I was working on a WPF application. I have now ported that application to WPF using MVVM.


You can download the free WPF burner at http://wpfburner.codeplex.com/. Just select the downloads tab and save the source code.

If you are on XP then you will need Image Mastering API v2.0 (IMAPIv2.0) for Windows XP if you don’t have this already (this is included in Vista SP2 and Windows 7). To burn a Blu-ray you will need Windows Feature Pack for Storage 1.0 if you are not using Window 7.

15 thoughts on “Burning and Erasing CD/DVD/Blu-ray Media with WPF

  1. Pingback: Free WPF Themes « Ira Lukhezo’s blog

  2. Hi IRA,

    If you are on XP then you will need Image Mastering API v2.0 (IMAPIv2.0) for Windows X.

    Currently i am using window XP so i need to download Image Mastering API v2.0 (IMAPIv2.0) . but what i have to do with it. add as a reference or put inside my program folder????

    Thank you.

  3. Hello Riann,

    You just need to ensure that the API is installed in XP. Most XP machines have this installed as usually, other programs install it, so the best thing to do is to try and run the DVD burner, and if you find that it does not work, then install the missing software.

    This information is also important if you want to distibute your DVD burner, to ensure users of your software install it, so you may want to include it as option when your software is installed.

  4. Sorry i did not finish my comment because I hit sent . back to reporting progress when burning , DiscFormatDataUpdate is called once ( given a handler ) but it doesnt seem to update anything .

  5. i guess my first email was never sent, so here it is :

    Thank you for you nice work. i use your app with some modification (the way i add files ) btu when i click burn , it burns just fine but there is no reporting progress. so i though i forgot to add something so i used your app and it also don’t report progress……

    please see the other post ( previous ) for part two 🙂

  6. Thank you for the reply. now it is working for me , i changed the ComVisible to true and it worked 🙂 My other problem is triggering INotificationPropertyChanged for the progressBar when adding files. I followed your code but nothing happens to me. I have the ObservableObject.cs ,ViewModleBase.cs and the MediaViewModle.cs. the only differnce is that i created an object for MediaViewModle and im using it in my Window class to pass the the CapacityProgressValue. so when i trace it , PropertyChanged is alway null ! what is happening in here ? Thank you in advance.

    Sam E

  7. Hi Sam,

    I am afraid I would need to see the code because the information you supply is a little vague, you can email me the ViewModel or sample project using the contact information above.


  8. Hi IRA,

    Am using windows 7… but when detect the media suppot it shows Media is not supported ..What can i do?
    Is der need to add any …?

  9. Hello Pappie,

    It might be that you are not using a brand new CD, DVD or Blu-Ray so you probably need to try a brand new one. If it is a re-writable one then you need to format it first.



  10. Hello Shaitender,
    I have decided not to support this project anymore because no-one has said thank you. It took me quite a while to produce this, but people just take the code and think it is their right to use it.

    If you had written something like; Hello Ira, and thank you for taking the time to create this example in MVVM and WPF. I would like to know how if it possible to add password protection while burning CD/DVD ? and how ? Thanks for taking the time to answer, I might be inclined to help.

  11. Hi Ira Lukhezo,

    Thanks a lot for providing an example in WPF.
    i found that if Projects are targeted at x86 platform then after it shows “Completed!” after burning, there is no response. Basically in x86 platform target ii found that after executing “discFormatData.Write(fileSystem);” statement it never hits the next statement.
    If all the projects are targeted at any CPU mode, then it works fine.
    Did you observe this? Can you please help me with this?
    I found the same issue in the Winforms code provided by Eric Haddan.

    Srinivas Rao

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s