OS State Capture in .Net

Hi Experts,

I want to make a software which will work like Norton Ghost. It will store OS state, restore that from back up if the OS is corrupted. Is it possible in VB.Net / C#? If it is possible, can you please help me giving some idea how it can be done? How OS state with file system can be stored in USB / or HDD partition .Net and can be restored it when needed? I am now concentrating on only Windows platform, 32/64 bit.

One confusion is there also, if I go for .Net probably it will require .Net framework which may be a constraint for this type of software. I have standard knowledge in VB6 and little bit knowledge in Java. If in .Net this is not possible, can it be possible in VB6 or Core Java?

Regards,
Soumen
Soumen-RoyAsked:
Who is Participating?

[Webinar] Streamline your web hosting managementRegister Today

x
 
deepu chandranConnect With a Mentor Commented:
Hi,

This kind of applications can be done well using .net (easier than C/C++), also all the third party softwares (Nortal Ghost or something whcih is running on Windows) gives there DLL and API reference for .Net. Following are the things you should be study before starting it up.

1) You should check for the DLL's and API for Nortal
ftp://ftp.symantec.com/public/...ghost.../Ghost_imp_guide.pdf
2) Calling UnManaged Code from managed code/ Platform Invokation/
3) Windows API's/WMI calls Needed to access the system informations
4) Reading and writing Windows Registry values


Write one Encapsuleted class with all the Windows API using P/Invoke and use it in the applications

Refer

http://www.codeproject.com/Articles/1285/Calling-API-functions-using-C
http://msdn.microsoft.com/en-us/magazine/cc164123.aspx
http://msdn.microsoft.com/en-gb/library/ms973872.aspx#manunman_pinvoke
http://msdn.microsoft.com/en-us/library/hh560563(v=vs.95).aspx


-- Deepu
0
 
Deepak LakkadCommented:
Hi,

I think you can develop this kind of Software using C or C++.

VB.Net and C# are not suitable for such kind of software

- Deepak Lakkad
0
The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

 
Soumen-RoyAuthor Commented:
@deepudeepam,

Thank you for your references. It seems interesting to me, can you be a little more elaborative please? what may the steps? In C# I may write unmanaged code, if I am not too wrong. In point number 2 you told "2) Calling UnManaged Code from managed code/ Platform Invokation/". If I call unmanaged code from managed code, it will require Framework. But if windows corrupted, framework may not available, what may be the steps to handle that situation.

Probably, I am asking question as a layman, it seems to be a stupid question to you. Actually I never did such type of application. A little elaborative explanation may be very much helpful for me. I don't know what P/Invoke means. Can you please explain in little?

Regards,
Soumen
0
 
CEHJCommented:
I want to make a software which will work like Norton Ghost.
Why? Why not use Norton Ghost or an open source alternative?
0
 
Soumen-RoyAuthor Commented:
@CEHJ,

My application need to do a lot of other things at enterprise level. Some of the portion will work like Norton Ghost. If any open source API or Norton Ghost API is available which I can call from .Net / VB6 to do those job, that also will be helpful. Kudos to @deepu. He sent me the link of "ftp://ftp.symantec.com/public/...ghost.../Ghost_imp_guide.pdf". I need to evaluate that till now, I have not explored that option. Probably, that will help me a lot.

Regards,
soumen
0
 
CEHJConnect With a Mentor Commented:
The most important thing to remember is that you need to use a ram disk of some sort. The normal operating system will be inaccessible, since the principal storage medium needs to be accessed in a raw state, uninterrupted by the normal OS
0
 
Soumen-RoyAuthor Commented:
@CEHJ,

Absolutely right. Thats a major major hick up of this project. But what may be the solution?

Regards,
Soumen
0
 
Soumen-RoyAuthor Commented:
@deepudeepam,

"1) You should check for the DLL's and API for Nortal
ftp://ftp.symantec.com/public/...ghost.../Ghost_imp_guide.pdf"

link is not opening, any alternate link, please?

Regards,
Soumen
0
 
CEHJCommented:
. But what may be the solution?
Installing any software, custom or otherwise on a ram disk is the only way to go. That means customization of a ram disk. See the Debian Live project for example
0
 
Soumen-RoyAuthor Commented:
OK Experts,

I am thinking in different way as CEHJ suggested. Is there any way to call Norton Ghost commands from command line or dll from VB.Net? Any example please?

Regards,
Soumen
0
 
CEHJCommented:
afiak Norton Ghost also works with a boot (ram) disk
0
 
Soumen-RoyAuthor Commented:
Yes CEHJ,

Thats why I wanna integrate norton ghost with my application. But I m not sure if I can call Norton Ghost dll or commands from my application or not. Is it possible? Is there any dll / api / commands available from norton ghost which I can call from my application?

Regards,
Soumen
0
 
CEHJCommented:
I don't know the details of Norton Ghost so can't really help. afaik it's essentially a ram disk os, so if so, the question would be how you can install your app alongside it. My guess is that would be difficult if not impossible, but it rather depends on whether you want to image the principle storage medium. If it's another, non-os medium, you might be more in luck with Norton Ghost, though still unlikely imo.
I already gave you what i think is a better bet above
0
 
Soumen-RoyAuthor Commented:
Thanx to you all for your vision and comments
0
All Courses

From novice to tech pro — start learning today.