Archive: LockedList Plugin on Win2k


LockedList Plugin on Win2k
Hello.

I'm using the LockedList plug-in in my installer. And so far it seems to work fine on Windows XP as well as on Windows 7. However I noticed that on Windows 2000 there is a problem: It seems every single process is mistakenly detected as conflicting! So is the LockedList plug-in not compatible with Win2k? From the documentation it would seem the plug-in works even on Windows NT 4.0, but apparently this is not the case. Or am I missing something?

http://img141.imageshack.us/img141/3...win2kerror.png


Here is the code I use:

Function LockedListShow
!insertmacro MUI_HEADER_TEXT "$(LAMEXP_LANG_LOCKEDLIST_HEADER)" "$(LAMEXP_LANG_LOCKEDLIST_TEXT)"
LockedList::AddModule "\LameXP.exe"
LockedList::AddModule "\Uninstall.exe"
LockedList::AddModule "\Au_.exe"
LockedList::Dialog /heading "$(LAMEXP_LANG_LOCKEDLIST_HEADING)"
/noprograms "$(LAMEXP_LANG_LOCKEDLIST_NOPROG)"
/searching "$(LAMEXP_LANG_LOCKEDLIST_SEARCH)"
/colheadings "$(LAMEXP_LANG_LOCKEDLIST_COLHDR1)" "$(LAMEXP_LANG_LOCKEDLIST_COLHDR2)"
Pop $R0
FunctionEnd


I'm using the Unicode version, if that matters.

Thanks in advance! ;)

I'm afraid I don't have a Windows 2000 machine to try this on. Can you debug?

Edit: Also which version of the plug-in?

Stu


Originally posted by Afrow UK
I'm afraid I don't have a Windows 2000 machine to try this on. Can you debug?
I have a Win2k VM running, as some users still insist using such old OS :rolleyes:

If you tell me what I can do to help debugging, I'll see what I can do...

Originally posted by Afrow UK
Edit: Also which version of the plug-in?
LockedList.dll v2.2 by Afrow UK
Last build: 19th October 2010

Ideally if you can, install VS2010 on the VM and attach the built installer executable to the VS debugger (while using a debug build of the DLL). You can use breakpoints then.

Stu


Originally posted by Afrow UK
Ideally if you can, install VS2010 on the VM and attach the built installer executable to the VS debugger (while using a debug build of the DLL). You can use breakpoints then.

Stu
Can't it be built with VS2008 ???

I haven't updated my "production" system to VS2010 yet and I don't want to dirty my "test" system with VS2010. I even doubt it will install on a Win2k system! Moreover VS2010 is a quite huge download. And the last time I downloaded the DVD ISO from the MSDN-AA site, which took hours, it was broken (setup always failed with integrity check failure).

Another idea: Can't you just throw in a few OutputDebugString()'s at the critical positions and I capture the output on my Win2k system using DbgView?

Regards,
MuldeR.

I think I've only included the vcxproj file in the source code which is for VS2010. I'm afraid I'm very busy with work at the moment but if you want to modify the source file I will rebuild and attach the dll here.

Stu


Let me try this:
http://www.codeproject.com/Tips/8757...to-VS2008.aspx


Hm, I managed to compile LockedList.dll with VS2008, but my DLL doesn't work.

The dialog simply doesn't show up. Instead I get a blank page :confused:

However this simple macro should do to the job:

#define DEBUG_PRINT(FORMAT,...)                             \
{ \
char *buffer = new char[1024]; \
if(sprintf_s(buffer, 1024, FORMAT, __VA_ARGS__) > 0) \
{ \
OutputDebugStringA(buffer); \
} \
delete [] buffer; \
}


Use like this:

BOOL WINAPI DllMain(HINSTANCE hInst, ULONG ul_reason_for_call, LPVOID lpReserved)
{
g_hInstance = hInst;
DEBUG_PRINT("LockedList says hello (code %d)", 42);
return TRUE;
}


If you include some DEBUG_PRINT's at the critical places, I'll send you the log...

Can you try with SilentSearch and see what file paths you get. They should be an empty string, which is what I already test for (and exclude) as of v2.2. I am confused as to why they still get added.

Stu


Originally posted by Afrow UK
Can you try with SilentSearch and see what file paths you get. They should be an empty string, which is what I already test for (and exclude) as of v2.2. I am confused as to why they still get added.

Stu
Will try...

Okay, here is my test script:
http://pastie.org/1403194

And here the result I get on Win2k:
http://pastie.org/1403196

-> All paths are empty, as you had expected. And I definitely use v2.2.