Sign in to follow this  
Followers 0
mlazovjp

Getting SplashImageOn() to work in Bart's PE

4 posts in this topic

Trying to create a Bart's PE CD. I am using the stock build of Bart's PE (no additional plug-ins or anything). Just my AutoIt v3 script.

I used depends.exe to try and figure out which .dll files I needed to include with my plug-in. These are what I include in my plug-in's .inf file (all are copied into system32):

; System32
browseui.dll=2
shdocvw.dll=2
shell32.dll=2
advpack.dll=2
msrating.dll=2
mshtml.tlb=2
mshtml.dll=2
mlang.dll=2
msxml.dll=2

;found with dependency walker
CDFVIEW.DLL=2
EFSADU.DLL=2
HLINK.DLL=2
INETCOMM.DLL=2
PRINTUI.DLL=2
WZCDLG.DLL=2
MSJAVA.DLL=2
MSOERT2.DLL=2
MSXMLR.DLL=2

My AutoIt script registers the following .dll files using the command "regsvr32.exe <file>":

shell32.dll
mlang.dll
browseui.dll
msxml.dll
mshtml.dll
shdocvw.dll

At the moment, it looks like everything works OK except for one thing - SplashImageOn ( ). Where there should be a splash image, nothign appears. Once the splash image is cleared with SplashOff ( ) the script continues as if nothing was wrong - no error message or anything to indicate there was any kid of a problem. I have it set to load a .jpg. If I run this script in Windows XP is works just fine.

ANy ideas where to go next in troubleshooting this?

Share this post


Link to post
Share on other sites



#3 ·  Posted (edited)

Maybe you are trying to FileInstall JPG image to current directory (CD) which is read-only?

The jpg file is in the same directory as the compiled AutoIt script. There is no FileInstall() call being made.

The splashimageOn() call works fine in a full-blown XP environment, so it just has to do with .dll files not being there or registered.

Edited by mlazovjp

Share this post


Link to post
Share on other sites

The jpg file is in the same directory as the compiled AutoIt script. There is no FileInstall() call being made.

The splashimageOn() call works fine in a full-blown XP environment, so it just has to do with .dll files not being there or registered.

Look into Autoit 3.1.0 sources

src/script_misc.cpp -->

AUT_RESULT AutoIt_Script::F_SplashImageOn(VectorVariant &vParams, Variant &vResult)

AUT_RESULT AutoIt_Script::Splash(VectorVariant &vParams, uint iNumParams, int nFlag)

There are is at many places

return AUT_OK;
after some kind of errors (to not produce errors)

Maybe it would be better to setup @error to some values in these situations. So scripter can check where is problem and if functions was done right - but this decision is on developers.

I think OleLoadPicture() can use some OLE DLL files for example.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0