#22 Fix MediaInfo_Tip installation in the nsis script

open
All (26)
5
2014-08-18
2008-12-19
Kurtnoise
No

MediaInfo_Tip.dll installation fails with bat file on Vista...So, here is a patch >> http://pastebin.com/f4bd06e38

Discussion

  • Jerome Martinez

    Jerome Martinez - 2008-12-19

    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.

     
  • Jerome Martinez

    Jerome Martinez - 2008-12-19
    • labels: --> All
    • assigned_to: nobody --> zenitram
    • status: open --> pending
     
  • Kurtnoise

    Kurtnoise - 2008-12-19

    The problem remains then (at least on Vista)...

    I'll go back with a better script.

     
  • Kurtnoise

    Kurtnoise - 2008-12-19
    • status: pending --> open
     
  • Jerome Martinez

    Jerome Martinez - 2008-12-19

    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).

     
  • Kurtnoise

    Kurtnoise - 2008-12-19

    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

     
  • Jerome Martinez

    Jerome Martinez - 2008-12-19
    • status: open --> pending
     
  • Jerome Martinez

    Jerome Martinez - 2008-12-19

    > 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.

     
  • Kurtnoise

    Kurtnoise - 2008-12-19

    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

     
  • Kurtnoise

    Kurtnoise - 2008-12-19
    • status: pending --> open
     
  • Jerome Martinez

    Jerome Martinez - 2008-12-19

    OK.

    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?)

    Not easy...

     
  • Kurtnoise

    Kurtnoise - 2008-12-19

    with the

    ;Request application privileges for Windows Vista
    RequestExecutionLevel admin

    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.

     
  • Jerome Martinez

    Jerome Martinez - 2008-12-19

    OK.

    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!

     
  • Kurtnoise

    Kurtnoise - 2008-12-19

    just a random idea: did you try already to embed a manifest file into the GUI ?

     
  • Jerome Martinez

    Jerome Martinez - 2008-12-19

    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...

     

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks