MediaInfo_Tip.dll installation fails with bat file on Vista...So, here is a patch >> http://pastebin.com/f4bd06e38
OK for UnRegDLL, but not for RegDLL, because DLL registration is done in the GUI only if the user wants it.
I imagine I need RequestExecutionLevel too, so I add it too, but not the RegDLL stuff.
The problem remains then (at least on Vista)...
I'll go back with a better script.
Problem in registering the DLL?
The code is in MediaInfo\Source\GUI\VCL\GUI_Preferences.cpp
ShellExecute (NULL, _T("open"), _T("regsvr32"), _T("MediaInfo_InfoTip.dll /s"), NULL, 0);
So a better way must be found for registering from ShellExecute (or from a .bat file for your testings).
regsvr32 xxx.dll requires admin high level to work on Vista. That's why your bat files don't work. You have to run command prompt as admin (right click on cmd.exe and execute as admin) and then you can run regsrv32 xxx.dll.
My idea with the nsis script is something like :
1/ create a new section for MediaInfo_tip.dll
2/ make this section optional (by adding /o). This way, the checkbox is unchecked by default...
3/ detect when the user select this box (via .onSelChange)
4/ make the registration w/ RegDLL
3/ & 4/ requires a function as you can see...but I've no time to do that yet. :-P
> regsvr32 xxx.dll requires admin high level to work on Vista
Thanks for the info.
> My idea with the nsis script is something like
You always think the the tooltip is installed by the installer, but is is not: it is installed by the GUI.
But the admin hih level detection with win32 calls is not from my competance.
So... I propose we currently abandon this.
I will check Vista problem when I have time (not soon :( ), both install from the GUI and uninstall from uninstaller. Putting the option in the installer is a workaround, but I hope to be able later to put it again in the GUI.
I understood that it's installed w/ the GUI...;-) Yes, it's a workaround.
There is maybe another trick w/ the GUI to register this library but I need to test it first. :) I'm running on Vista...So, great. :D
I need the win32 functions to have admin privileges.
And I need to grant admin privilege too in the uninstaller when the DLL is registered. Is it easy to do (or does the UnRegDLL funstion.
Or must I grant admin privileges in any case for unisntalling? (and how?)
;Request application privileges for Windows Vista
in the nsis script, this value is embedded in the xml manifest file for the installer and the uninstaller...So, no problem with the RegDLL and UnRegDLL.
Now I need the same for the part of the GUI which needs it.
Another work to do, between all the other works (new files...) I have to do!
just a random idea: did you try already to embed a manifest file into the GUI ?
There is already one (MediaInfo\Source\GUI\VCL\Manifest.xml), but made for WinXP, not Vista.
But I don't want to run always the GUI in admin mode. Only ask admin rights when the user want to register the DLL...