Make executable without an install...Points depending on answer

This probably sounds like a stupid question, but is it possible to create an executable that will run on a machine without vb installed without creating an install program or copying any runtime files to the machine. The program only has one line of code (except for the declaration), and it is an API. I'm just writing it as a joke program and all it does is switch the mouse buttons.

The code is simply:

Sub Command1_Click()
     Sw = SwapMouseButton(-1)
End Sub

I don't want them to have to do an install or copy files just to run such a dumb little joke.

I'm pretty sure that is not possible, but I'll give you
150 points to tell me how to do it,
or
50 points if the answer is simply I can't

Please don't answer telling me it can't be done unless you are sure.

Thanks!
mshaner
ps..Vb is the only programming language I know (well, besides qbasic)



mshanerAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
karlwwConnect With a Mentor Commented:
Short answer is you can't w/o a C/C++ compiler or other compiler than can produce a stand alone EXE.  VB5/6 have as a minimum requirement a single runtime DLL (MSVBVM50.DLL or MSVBVM60.DLL as PatrickVB mentioned).

Here's minimum C code to do this.  Now you need a compiler.
#include <windows.h>

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
    ::SwapMouseButton(TRUE);
    return 0;
}
 
0
 
johnczimmCommented:
Odds are the the user may already have some runtime files on the computer from installing other programs.  If you only common controls, it look like you are, you might get this to work on some computers.
0
 
PatrickVDCommented:
In regular circumstances, I would say you can't... but the answer is not so easy...
Because if the system on which you would want this program to execute is running Windows NT4 with Service Pack4 (may be even with Service Pack3 but I couldn't check) it already has the minimal VB5 and VB6 runtime files installed (MSVBVM600.DLL). So if your program does not reference any external OCX it will work on that system !

I don't know how it will be with Win9X, because I only work with NT here.. so probably somebody else will have to confirm or deny this situation on Win9X.

Hope this helps..

Patrick.
0
The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

 
ntdragonCommented:
i really think that they"ll need some dlls
0
 
KDivadCommented:
Win98 also has the VB5 runtimes included.
0
 
SunBowCommented:
I think the code will run fine, but why not try?
I suspect a problem might occur with the method you use to launch the thing.
0
 
olxCommented:
mshaner:
please post your code to work it out.
i've done something like this before.

:)
0
 
LeXienCommented:
have a look at - www.bit-arts.com and their program called Fusion
0
 
darnison062499Commented:
There is an application called Fusion that compiles all runtimes, ocx's etc into the executable of a Visual Basic program.  This would definatly work, but you'll have to pay $39.00 for it.
0
 
SunBowCommented:
I like the Fusion concept of no royalty so fee does not seem that bad.  But, does it really handle registry and the scenarios of the ol' dll h@ll?
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.