PDA

View Full Version : Call DLL problem



NewsArchive
04-11-2007, 08:09 AM
I am having a problem with a dll that I call during my setup

I call the dll before installing files
I check to see if the person is eligible for an update. if they are, the
install continues, if not a message is displayed and the install is aborted

What is happening sometimes, not all the time
the install calls the dll and the install then exists, no message or
anything


when I test on my development computer, the dll works everytime but on other
computers it doesnt

I dont know why

99% of the time, the install directory is c:\bmwin


My call dll screen is attached
I dont know what I am missing


--
Eric Jacobowitz
www.castlecomputer.com
www.cctsoftware.com

NewsArchive
04-11-2007, 08:09 AM
Eric,

Perhaps your update.dll causes a buffer-overrun?

--
Friedrich Linder
Lindersoft
www.lindersoft.com
+1.954.252.3910

"point. click. ship" - that's SetupBuilder 6
Create Windows Vista ready installations in minutes

-- Official Comodo Code Signing and SSL Certificate Partner

NewsArchive
04-11-2007, 08:09 AM
how would I know?

It works every time on my development machine
I have tried it on another computer and cant get it to work - but based upon
further testing, its doing what it should - exit the install

so what is happening is the dll is either not being called or in the wrong
directory
how can I make sure the dll runs in the _sb_installationdir folder?



--
Eric Jacobowitz
www.castlecomputer.com
www.cctsoftware.com

NewsArchive
04-11-2007, 08:09 AM
Only you know where a buffer overrun occurs in your system because you have
developed the DLL.

It may always work on your machine(s) because your test data do not produce
a buffer overrun, etc.

You told me that the install exists, no message or anything. That means the
DLL *is* called, a buffer overrun occurs and the Win32 application simply
"disappears".

IMO, it's definitely caused by a buffer overrun.

HTH,

--
Friedrich Linder
Lindersoft
www.lindersoft.com
+1.954.252.3910

"point. click. ship" - that's SetupBuilder 6
Create Windows Vista ready installations in minutes

-- Official Comodo Code Signing and SSL Certificate Partner

NewsArchive
04-11-2007, 08:32 AM
I think you are correct - I added some message statements to my dll and my
install script and the dll does not run when I download the install from my
website on a computer (not my development computer)

Since the dll does not run, does that mean that something I am passing the
dll is causing the buffer overrun?

I am trying to send the dll the installation directory
so in parameter I have *CSTRING
in the Function Parameters I have
%_SB_INSTALLDIR%

Or is it usually something else?

--
Eric Jacobowitz
www.castlecomputer.com
www.cctsoftware.com

NewsArchive
04-11-2007, 08:33 AM
This could be too obvious, but I'll ask, did you compile your DLL as LOCAL?

Friedrich

NewsArchive
04-11-2007, 09:09 AM
Yes I compiled as local

--
Eric Jacobowitz
www.castlecomputer.com
www.cctsoftware.com

NewsArchive
04-11-2007, 09:09 AM
Did you include the update.dll as service file in your installer?

If you are interested, you can send me your SetupBuilder 6 script (.sb6) and
your DLL and I'll check this for you.

Friedrich

NewsArchive
04-11-2007, 09:09 AM
Ok - fixed
Something got screwed up last week with my clarion
well i guess my dll got screwed up too cause it no longer was set to compile
as local
problem fixed!

thanks

--
Eric Jacobowitz
www.castlecomputer.com
www.cctsoftware.com

NewsArchive
04-11-2007, 09:09 AM
Perfect. Thank you!

Friedrich