ni.com is currently undergoing scheduled maintenance.

Some services may be unavailable at this time. Please contact us for help or try again later.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Why is the kernel32.dll being included with my executable?

It's actually being included in the support files folder with the other dll's necessary for the executable.  It is not required for my executable, however, and when I put the executable on a computer outside of the development environment, the executable breaks when it runs.  If I delete the kernel32.dll from the support folder, the executable runs fine on the stand alone computer.  The frustrating thing about this is that this is new behavior for making this particular executable.  My development computer started adding the kernel32.dll to my executables that contain a certain sub vi a couple of months ago.  The offending sub vi has no library function calls to the dll that I can find or knowingly added. If I use a different development computer with the exact same source code and project file, the kernel32 dll is NOT included in the support folder.  It is only my particular development computer.  I looked at all the posts that contain a reference to the executables with kernel32.dll, like the one in the Knowledgebase "My Stand-Alone Executable Cannot Find My DLL, Even Though I Have Specified the Path for the DLL" and tried to add the system32 folder to the vi search path, but that did not do anything. I looked through all of the Options pages but did not find anything that seemed relevant.  Did I miss some setting that I inadvertantly modified to start getting this behavior?

 

Please let me know what I can look for to try and fix this problem.  It is not an acceptable solution to have users go into the support folder and delete this file after the program is installed on their computer.  It is also not reasonable for me to use a different computer each time I want to create an executable, and I really don't want to reinstall all of the many parts and modules of LV on my computer.

 

Thanks,

Craig

0 Kudos
Message 1 of 5
(3,039 Views)

Are you sure you don't have a CLFN somewhere else that happens to call a function from there? Did you try a search in your project for the CLFN object? It really does sound like you have a CLFN somewhere where the node was configured with an explicit path for the kernel32 DLL, rather than just the name of it.

0 Kudos
Message 2 of 5
(3,032 Views)

Well, I searched through the vi that is causing the inclusion but could not find any call lib func node with an explicit path of any kind.  I've attached the vi's for anyone to have a look at.  As I said though, it's only one computer that is adding the kernel32 dll to the executable, and it's only started happening recently.  When creating putting this vi into an executable on a different computer, it doesn't happen.

0 Kudos
Message 3 of 5
(3,017 Views)

Is the DLL included if you remove the PDF Creator VIs? I don't have PDF Creator, so I can't replicate your issue.

0 Kudos
Message 4 of 5
(3,003 Views)

Hi smercurio_fc,

 

I dug a bit deeper and traced the problem to the "Print HTML Report.vi" (from the NIReport.llb) which is used in the PDF Creator vi's.  In the html report vi, there's a comment that says it will be broken unless internet explorer 4 or higher is installed on the computer.  I don't have IE installed on my machine, so that might have something to do with it, although the vi is not broken.  Anyway, since the report I'm printing is not html, I just dissabled that vi and the problem went away.  I'm going to leave it at that.

 

Thanks for trying to help!

 

Craig

0 Kudos
Message 5 of 5
(2,996 Views)