Solved

OS State Capture in .Net

Posted on 2013-01-10
15
449 Views
Last Modified: 2013-01-13
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
0
Comment
Question by:Soumen-Roy
15 Comments
 
LVL 11

Expert Comment

by:Deepak Lakkad
ID: 38765922
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
 
LVL 15

Expert Comment

by:Minh Võ Công
ID: 38766094
0
 
LVL 8

Accepted Solution

by:
deepu chandran earned 300 total points
ID: 38766131
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
 

Author Comment

by:Soumen-Roy
ID: 38766389
@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
 
LVL 86

Expert Comment

by:CEHJ
ID: 38766583
I want to make a software which will work like Norton Ghost.
Why? Why not use Norton Ghost or an open source alternative?
0
 

Author Comment

by:Soumen-Roy
ID: 38766614
@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
 
LVL 86

Assisted Solution

by:CEHJ
CEHJ earned 200 total points
ID: 38766752
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
6 Surprising Benefits of Threat Intelligence

All sorts of threat intelligence is available on the web. Intelligence you can learn from, and use to anticipate and prepare for future attacks.

 

Author Comment

by:Soumen-Roy
ID: 38767430
@CEHJ,

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

Regards,
Soumen
0
 

Author Comment

by:Soumen-Roy
ID: 38767453
@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
 
LVL 86

Expert Comment

by:CEHJ
ID: 38767780
. 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
 

Author Comment

by:Soumen-Roy
ID: 38770297
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
 
LVL 86

Expert Comment

by:CEHJ
ID: 38770429
afiak Norton Ghost also works with a boot (ram) disk
0
 

Author Comment

by:Soumen-Roy
ID: 38771127
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
 
LVL 86

Expert Comment

by:CEHJ
ID: 38771707
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
 

Author Closing Comment

by:Soumen-Roy
ID: 38771767
Thanx to you all for your vision and comments
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

When trying to find the cause of a problem in VBA or VB6 it's often valuable to know what procedures were executed prior to the error. You can use the Call Stack for that but it is often inadequate because it may show procedures you aren't intereste…
Real-time is more about the business, not the technology. In day-to-day life, to make real-time decisions like buying or investing, business needs the latest information(e.g. Gold Rate/Stock Rate). Unlike traditional days, you need not wait for a fe…
Viewers learn how to read error messages and identify possible mistakes that could cause hours of frustration. Coding is as much about debugging your code as it is about writing it. Define Error Message: Line Numbers: Type of Error: Break Down…
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …

707 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now