Home > Software engineering >  If there is a direct install libraries so that no library computer to be able to run my files? High
If there is a direct install libraries so that no library computer to be able to run my files? High

Time:09-23

I made a VB program, includes the following five API declaration

Private Declare Function SHBrowseForFolder Lib "shell32" (lpbi As BrowseInfo) As Long
Private Declare Function SHGetPathFromIDList Lib "shell32" (ByVal pidList As Long, ByVal lpBuffer As String) As Long
Private Declare Sub CoTaskMemFree Lib "ole32. DLL" (ByVal hMem As Long)
Private Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" (ByVal lpString1 As String, ByVal lpString2 As String) As Long

Private Declare Function PlgBlt Lib "gdi32" (ByVal hdcDest, As Long As lpPoint POINTAPI, ByVal hdcSrc As Long, ByVal nXSrc As Long, ByVal nYSrc As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hbmMask As Long, ByVal xMask As Long, ByVal yMask As Long) As Long

Then I put the best to use the machine code into exe file to another person, A will pop up after A opens
"Unexpected error" dialog
I then compiled into P code issued to him, effect is the same as
So I made an empty program (enter form1, have nothing to do, send A) directly into exe, A can run normally

Then I sent to B, C, D, E, B, C, D were and A the same problem, can't open, direct pop-up Unexpected error dialog and then exit the
"But E can normal open, and he have these things on your computer



So I just concluded A, B, C, D can't open the cause of the environment that is not installed the corresponding

This is probably the
My question is:
1. The "Unexpected error" unable to open because they do not have to install libraries problems?
2. A, B, C, D, don't want to install the VB to install libraries, things have installed directly library can make they can run normally? (had better have links ~)
O (studying studying) O thank everybody!

CodePudding user response:

Please help me to solve! Thank!

CodePudding user response:

http://www.dllzj.com

CodePudding user response:

With the depends. Exe view exe and DLL depend on other DLL and its version number,

CodePudding user response:

This should not what "library" problem, VB6 program, "theory" is only dependent on MSVBVM60. DLL,
This file, all current versions of Windows in the system is to bring it (include the vast majority of PE system tools, because the file is only 1.3 M multipoint),
"Other people's computer" basically don't have to install anything, can run normally,

Of course, if your program is used in the "third party controls" (namely "standard controls other than controls, except within the engineering control code),
Or reference a third-party DLL library, you will note that this is from Microsoft? Is truly "third party",
If not, Microsoft must take corresponding. Ocx or DLL files take (part from Microsoft also have to take, such as MSCOMCTL. Ocx, etc.),

Simple method, that is, the. Exe and. Ocx "in the same folder,"
"Other people's computer, when running on" first time "run as administrator", this ocx files will automatically be registered,
But not ActiveX DLL, can not be automatically registered, you could use the code in the "program entry" by regsvr32 register,
The general from the Sub Main initiator,
If the form directly from the start, and your Form_Load () directly or move the object of "third party", the form cannot be loaded, program can also click the,

If your program USES up standard controls, and the above mentioned that a few apis,
Can clear say: "application error" is your programming problem,
The several API is a system of "basic DLL library", in the file will not lack, the reason for the error is not the problem of "library",

CodePudding user response:

In a 64 - bit Windows:
64 exe and DLL in the directory c: \ Windows \ sys tem32 directory.
32 bit exe and DLL in the directory c: \ Windows \ sys wow64 directory.
So pay attention to:
In win64 system registered under 32-bit ocx DLL to 32 ocx or copy the DLL to the c: \ Windows \ syswow64 \ directory,
And registered to c: \ Windows \ syswow64 \ regsvr32 XXXXXXX ocx or DLL

CodePudding user response:

reference 4 floor Chen8013 response:
what should not this "library", VB6 program, "theory" is only dependent on MSVBVM60. DLL,
This file, all current versions of Windows in the system is to bring it (include the vast majority of PE system tools, because the file is only 1.3 M multipoint),
"Other people's computer" basically don't have to install anything, can run normally,

Of course, if your program is used in the "third party controls" (namely "standard controls other than controls, except within the engineering control code),
Or reference a third-party DLL library, you will note that this is from Microsoft? Is truly "third party",
If not, Microsoft must take corresponding. Ocx or DLL files take (part from Microsoft also have to take, such as MSCOMCTL. Ocx, etc.),

Simple method, that is, the. Exe and. Ocx "in the same folder,"
"Other people's computer, when running on" first time "run as administrator", this ocx files will automatically be registered,
But not ActiveX DLL, can not be automatically registered, you could use the code in the "program entry" by regsvr32 register,
The general from the Sub Main initiator,
If the form directly from the start, and your Form_Load () directly or move the object of "third party", the form cannot be loaded, program can also click the,

If your program USES up standard controls, and the above mentioned that a few apis,
Can clear say: "application error" is your programming problem,
The several API is a system of "basic DLL library", in the file will not lack, the reason for the error is not the problem of "library",


Yes, I changed to Sub Main start now this problem have no, but a RUNTIME ERROR 50003, how to return a responsibility excuse me

CodePudding user response:

reference 5 floor zhao4zhong1 reply:
under the 64 - bit Windows:
64 exe and DLL in the directory c: \ Windows \ sys tem32 directory.
32 bit exe and DLL in the directory c: \ Windows \ sys wow64 directory.
So pay attention to:
In win64 system registered under 32-bit ocx DLL to 32 ocx or copy the DLL to the c: \ Windows \ syswow64 \ directory,
And registered to c: \ Windows \ syswow64 \ regsvr32 XXXXXXX ocx or DLL


Do have on their computer MSVBVM60. DLL and have registered me into SUB MAIN start, and then solved the modal dialog, but appeared the runtime error 50003 this new situation, what is the problem?

CodePudding user response:

refer to 7th floor Hinchi response:
Quote: refer to fifth floor zhao4zhong1 response:

In a 64 - bit Windows:
64 exe and DLL in the directory c: \ Windows \ sys tem32 directory.
32 bit exe and DLL in the directory c: \ Windows \ sys wow64 directory.
So pay attention to:
In win64 system registered under 32-bit ocx DLL to 32 ocx or copy the DLL to the c: \ Windows \ syswow64 \ directory,
And registered to c: \ Windows \ syswow64 \ regsvr32 XXXXXXX ocx or DLL


Do have on their computer MSVBVM60. DLL and have registered me into SUB MAIN start, and then solved the modal dialog, but appeared the runtime error 50003 this new situation, what is the problem?

nullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnull
  •  Tags:  
  • API
  • Related