locked
Stand alone Program RRS feed

  • Question

  • Is it possible to create a stand alone program with VB2010?

    How?

    I mean, without any presence of an OS, the program will still work...

    Monday, September 12, 2011 4:55 AM

Answers

    1. I mean, without any presence of an OS, the program will still work...
    2. Is it possible to create a stand alone program with VB2010?

    If you mean on any windows operating system , Partially yes.

     

    A few complications in creating .net application completely stand alone.

    1. It will always be dependent to the .Net framework class libraries

          we can use a utility named ILMERGE.exe to make a single file by merging all the dll's in the .net exe

    http://social.msdn.microsoft.com/Forums/en-US/netfxsetup/thread/d3978d44-b701-4473-abf1-f0266fa77e2a

     

    2. .Net framework runtime

        even if we do merge the dll's with the exe the application still requires .net runtime which is only available by installing the complete .net framework.


    Please mark those posts as answer which answers your question. Faraz
    • Marked as answer by JANIE05 Tuesday, September 13, 2011 12:14 AM
    Monday, September 12, 2011 5:53 AM
  • There are currently no computers (or phones or tablets) anymore made which use absolute no OS (in 1965 they all had at least a DOS)

    I thought these where among the last ones.

    http://www.science.uva.nl/faculteit/museum/X1.php


    Success
    Cor

    • Edited by Cor Ligthert Monday, September 12, 2011 6:50 AM
    • Marked as answer by JANIE05 Tuesday, September 13, 2011 12:14 AM
    Monday, September 12, 2011 6:48 AM
  • Is it possible to create a stand alone program with VB2010?

    How?

    I mean, without any presence of an OS, the program will still work...

    No. You can't. There is no 'maybe'. There is no 'possibly'. Simply: No.

    Stephen J Whiteley

     

    Well... you sort of can.  The COSMOS project is one fairly reasonable attempt at allowing you to create genuine .NET operating systems using C#/VB.NET.  It compiles to fully bootable images, but it's fairly restricted right now - no support for anything other than basic console graphics, limited support for hardware etc.  It's an ongoing open source effort.

    SharpOS is another but I think the project may be dead now.  Microsoft Singularity from MS Research is yet another.

     

    • Marked as answer by JANIE05 Tuesday, September 13, 2011 12:14 AM
    Monday, September 12, 2011 2:10 PM
  • Is it possible to create a stand alone program with VB2010?

    How?

    I mean, without any presence of an OS, the program will still work...

    A stand alone program without an OS would be an OS, and since VB is dependent on runtime files and frameworks and whatnot, the answer to your question is no, in order to write a stand alone program, you would need something like a C language or Assembly code....

    Think about the term "Operating System"... Without a system of operation, how would the computer work? it would'nt, even if you see stand alone programs, they first MUST program an operating system inside the stand alone program before they think about anything else... An operating system controls the hardware of a computer, so the computer can compute.

    It is impossible to run software without an operating system, unless that software itself is an operating system.


    If you want something you've never had, you need to do something you've never done.

     

    I decided to have a quick check on Wikipedia to see what they thought the definition of an Operating System is, and here it is:

    An operating system (OS) is software, consisting of programs and data, that runs on computers, manages computer hardware resources, and provides common services for execution of various application software. The operating system is the most important type of system software in a computer system. Without an operating system, a user cannot run an application program on their computer, unless the application program is self booting.


    By that definition, I would argue what the OP wants is possible with something like Cosmos, assuming his application requirements are minimal (simply due to Cosmos' current lack of support for many parts of the framework).  If we're talking about a command line calculator written using Cosmos' framework so that it's bootable, then I personally would never class that as an operating system - it does not "operate" the hardware per se, it simply provides utility to the user.  IMO, an OS has to be much more than "that thing that gets loaded by the boot loader" before it can actually  be called an Operating System.

    • Marked as answer by JANIE05 Tuesday, September 13, 2011 12:13 AM
    • Unmarked as answer by JANIE05 Tuesday, September 13, 2011 12:13 AM
    • Marked as answer by JANIE05 Tuesday, September 13, 2011 12:15 AM
    Monday, September 12, 2011 6:47 PM

All replies

  • Not that I am aware of, without an OS - what do you have ? Certainly not a useable personal computer...

    The computers BIOS is the closest thing to what you describe and it is meant,amongst other things, to launch the OS.

     

    Monday, September 12, 2011 5:15 AM
    1. I mean, without any presence of an OS, the program will still work...
    2. Is it possible to create a stand alone program with VB2010?

    If you mean on any windows operating system , Partially yes.

     

    A few complications in creating .net application completely stand alone.

    1. It will always be dependent to the .Net framework class libraries

          we can use a utility named ILMERGE.exe to make a single file by merging all the dll's in the .net exe

    http://social.msdn.microsoft.com/Forums/en-US/netfxsetup/thread/d3978d44-b701-4473-abf1-f0266fa77e2a

     

    2. .Net framework runtime

        even if we do merge the dll's with the exe the application still requires .net runtime which is only available by installing the complete .net framework.


    Please mark those posts as answer which answers your question. Faraz
    • Marked as answer by JANIE05 Tuesday, September 13, 2011 12:14 AM
    Monday, September 12, 2011 5:53 AM
  • There are currently no computers (or phones or tablets) anymore made which use absolute no OS (in 1965 they all had at least a DOS)

    I thought these where among the last ones.

    http://www.science.uva.nl/faculteit/museum/X1.php


    Success
    Cor

    • Edited by Cor Ligthert Monday, September 12, 2011 6:50 AM
    • Marked as answer by JANIE05 Tuesday, September 13, 2011 12:14 AM
    Monday, September 12, 2011 6:48 AM
  • Is it possible to create a stand alone program with VB2010?

    How?

    I mean, without any presence of an OS, the program will still work...

    No. You can't. There is no 'maybe'. There is no 'possibly'. Simply: No.

    Stephen J Whiteley
    Monday, September 12, 2011 1:06 PM
  • Is it possible to create a stand alone program with VB2010?

    How?

    I mean, without any presence of an OS, the program will still work...

    No. You can't. There is no 'maybe'. There is no 'possibly'. Simply: No.

    Stephen J Whiteley

     

    Well... you sort of can.  The COSMOS project is one fairly reasonable attempt at allowing you to create genuine .NET operating systems using C#/VB.NET.  It compiles to fully bootable images, but it's fairly restricted right now - no support for anything other than basic console graphics, limited support for hardware etc.  It's an ongoing open source effort.

    SharpOS is another but I think the project may be dead now.  Microsoft Singularity from MS Research is yet another.

     

    • Marked as answer by JANIE05 Tuesday, September 13, 2011 12:14 AM
    Monday, September 12, 2011 2:10 PM
  • Quanta, the question is any precence of an OS, even the Commodore 64 had an OS.

    If it is meant for a Intel processor it is possible with the machine code from Intel but for sure not with VB Net.

    On other processor architectures VB Net simply does not run.

     

     


    Success
    Cor
    Monday, September 12, 2011 2:20 PM
  • Quanta, the question is any precence of an OS, even the Commodore 64 had an OS.

    If it is meant for a Intel processor it is possible with the machine code from Intel but for sure not with VB Net.

    On other processor architectures VB Net simply does not run.

     

     


    Success
    Cor


    Cor,

    No, the question states without the presence of any OS, which you will find that COSMOS can actually do.  It allows a developer to create an operating system itself, or rather a bootable application (albeit a simple one) that does not require the presence of an OS.  I know - I've tried it and it works.

    Please investigate what COSMOS and SharpOS are before responding.

    Monday, September 12, 2011 2:25 PM
  • Quanta,

    Cosmos is that not an OS, on Wikepedia is written it is.

     http://en.wikipedia.org/wiki/Cosmos_(operating_system)

    Be also aware that any precennce of an OS means not even the smallest DOS version. The documentation tells in my idea that it creates a loader to be used on windows systems (or whatever other system with an OS).

    Even if it was bootable with nothing, that in had still implemented a kind of OS after its boot. 


    Success
    Cor
    Monday, September 12, 2011 2:36 PM
  • While Cosmos is framed as an OS, it isn't really an OS. It is a set of tools which converts C# code to native assembly code which can be executed by a CPU. It could be considered an OS because it can give you a shell to perform actions (e.g. MS-DOS). These actions can be coded in C#.

    The core of Cosmos is a compiler which was written in C#. The compiler creates genuine assembly language. In addition, it creates assembly code which represents a bootable image.

    Ok, Long Answer:

    The bottom line is that you cannot create a bootable image with C# or VB, unless you have a compiler which converts/interprets the resultant .NET intermediate language to assembly language and includes additional bootable assembly language identifiable to a DOS. The latter, I'll note, isn't particularly hard, you just need to know what you are doing. Assembly is assembly, though: fun only when you have got to the end of the innernet and have nothing else to do.

    The compiler must also be able to understand every .NET command, class, structure, etc. to be completely usable. This is a monumental task - Mono is close, precisely because of very dedicated people - and anything less puts serious restrictions on what you can and cannot do. Off the top of my head are video, networking and HIDs. The code to interface to the PC buses must be programmed and compiled somewhere. Someone, somewhere has to write code to talk to a USB keyboard - something that we take for granted in our applications. This is where a bootable application differs from something like Mono: the bootable application must also include everything(?) that an OS does.

    You can't just 'write your own driver'. Well, you can, but if you want to write code in a high level language which pleasantly abstracts away the poopiness the the hardware manufacturers have tried so hard to hide from you, and the OS manufacturer has done ever so well to put a nice bit of polish over, why do you want to delve into the bloody and sweaty arena of drivers for every stinking mouse that comes out of China? If it was that easy, why would we have .NET in the first place?

    So, VB.NET, C# and the .NET framework do not have any of the tools to create an application that can run without an OS.

     

     


    Stephen J Whiteley
    • Proposed as answer by Reed KimbleMVP Monday, September 12, 2011 4:32 PM
    Monday, September 12, 2011 3:18 PM
  • The practical answer is No. You need at least the CLR as in the .Net framework which need an OS. The CLR is needed to run the IL produced by VB2010.

    The theoretical answer is Yes. Provided you also have a compiler that converts the IL produced by VB2010 to machine code; and the program contains the functionilty that allows the BIOS to boot it; and the program contains the functionality that allows it to (at least) control the keyboard and the screen; and... You can add a number of other things that an OS typically provides.

    BTW Is this a homework assignment? Only ask because it's the second such question in the past week (I think the other one was on a C# forum). Spooky if it' not. :)


    Regards David R
    ---------------------------------------------------------------
    Every program eventually becomes rococo, and then rubble. - Alan Perlis
    The only valid measurement of code quality: WTFs/minute.
    Monday, September 12, 2011 3:37 PM
  • Quanta,

    Cosmos is that not an OS, on Wikepedia is written it is.

     http://en.wikipedia.org/wiki/Cosmos_(operating_system)

    Be also aware that any precennce of an OS means not even the smallest DOS version. The documentation tells in my idea that it creates a loader to be used on windows systems (or whatever other system with an OS).

    Even if it was bootable with nothing, that in had still implemented a kind of OS after its boot. 


    Success
    Cor


    I suppose it depends on your definition of an operating system.  Is a Boot Loader considered an OS?  If yes, then the OP's question must always result in a firm "No".  If you consider an OS as the thing that gets loaded by the Boot Loader, then COSMOS is essentially allowing you to create that.

    As an example, I created a command line calculator in with Cosmos.  Is that an OS itself, an application loaded onto another OS, or just a standalone program that is launched from a boot loader?  Potentially it's all 3.  But IMO this is the closest the OP is going to get to achieving what he/she is asking for.

    • Proposed as answer by Reed KimbleMVP Monday, September 12, 2011 4:33 PM
    Monday, September 12, 2011 4:20 PM
  • A stand alone program without an OS would be an OS, and since VB is dependent on runtime files and frameworks and whatnot, the answer to your question is no, in order to write a stand alone program, you would need something like a C language or Assembly code....

     

    As we were all just discussing above, see Cosmos and SharpOS.  It is possible to write an OS using some of the above mentioned frameworks and tools using VB.NET or C#.   It is likely the closest thing to an answer the OP will get, also, and really depends on what he wants this for.

    Monday, September 12, 2011 6:38 PM
  • Is it possible to create a stand alone program with VB2010?

    How?

    I mean, without any presence of an OS, the program will still work...

    A stand alone program without an OS would be an OS, and since VB is dependent on runtime files and frameworks and whatnot, the answer to your question is no, in order to write a stand alone program, you would need something like a C language or Assembly code....

    Think about the term "Operating System"... Without a system of operation, how would the computer work? it would'nt, even if you see stand alone programs, they first MUST program an operating system inside the stand alone program before they think about anything else... An operating system controls the hardware of a computer, so the computer can compute.

    It is impossible to run software without an operating system, unless that software itself is an operating system.


    If you want something you've never had, you need to do something you've never done.

     

    I decided to have a quick check on Wikipedia to see what they thought the definition of an Operating System is, and here it is:

    An operating system (OS) is software, consisting of programs and data, that runs on computers, manages computer hardware resources, and provides common services for execution of various application software. The operating system is the most important type of system software in a computer system. Without an operating system, a user cannot run an application program on their computer, unless the application program is self booting.


    By that definition, I would argue what the OP wants is possible with something like Cosmos, assuming his application requirements are minimal (simply due to Cosmos' current lack of support for many parts of the framework).  If we're talking about a command line calculator written using Cosmos' framework so that it's bootable, then I personally would never class that as an operating system - it does not "operate" the hardware per se, it simply provides utility to the user.  IMO, an OS has to be much more than "that thing that gets loaded by the boot loader" before it can actually  be called an Operating System.

    • Marked as answer by JANIE05 Tuesday, September 13, 2011 12:13 AM
    • Unmarked as answer by JANIE05 Tuesday, September 13, 2011 12:13 AM
    • Marked as answer by JANIE05 Tuesday, September 13, 2011 12:15 AM
    Monday, September 12, 2011 6:47 PM
  • Really, Let me keep this short since this is a 2 year old post i just came across

    Cosmos............."

    C# Open Source Managed Operating System

    Notice the end of what Cosmos stands for OPERATING SYSTEM!!!!!

    COSMOS IS AN OPERATING SYSTEM!

    Tuesday, October 8, 2013 11:55 PM
  • Cosmos is an OS.. it's just not a full OS like windows/mac/linux is.
    Tuesday, October 8, 2013 11:56 PM
  • Windows isn't technically an OS either, it just converts 1's and 0's into manageable formats.
    Tuesday, October 8, 2013 11:57 PM
  • Wrong. Windows is an OS even if it poor.

    Renee


    "MODERN PROGRAMMING is deficient in elementary ways BECAUSE of problems INTRODUCED by MODERN PROGRAMMING." Me

    Wednesday, October 9, 2013 5:18 AM
  • Is it possible to create a stand alone program with VB2010?

    How?

    I mean, without any presence of an OS, the program will still work...

    If that were the case then you could partition your hard disk and boot the P/C off the new partition with no O/S on it and your program would mysteriously run without access to any hardware on the P/C since it would not have the ability to control any of it I would imagine.

    Even the Abacus and Difference Engine have an operating system which happens to be human and their abilities are based on that operating systems CPU capabilities. Which is why they don't work well when a chimpanzee gets hold of them.


    Please BEWARE that I have NO EXPERIENCE and NO EXPERTISE and probably onset of DEMENTIA which may affect my answers! Also, I've been told by an expert, that when you post an image it clutters up the thread and mysteriously, over time, the link to the image will somehow become "unstable" or something to that effect. :) I can only surmise that is due to Global Warming of the threads.

    • Proposed as answer by Renee Culver Wednesday, October 9, 2013 5:44 AM
    Wednesday, October 9, 2013 5:42 AM