[CMake] vista nsis issue

David Cole david.cole at kitware.com
Wed Aug 20 14:13:55 EDT 2008


It would probably be a pain, but you could always use the "mt" tool to merge
manifest info into the built installer after it comes out of CPack.
We do post-build processing on CMakeSetup.exe to add a manifest snippet that
allows executing a program with the string "setup" in its name as a
non-privileged user with this command:
  ADD_CUSTOM_COMMAND(TARGET CMakeSetup
    POST_BUILD COMMAND mt
    "${_CMAKE_INPUT_RESOURCE}"
    -manifest "${CMAKE_CURRENT_SOURCE_DIR}/CMakeSetupManifest.xml"
    "-outputresource:${exe};#1"
    ${verbatim_flag}
  )

And CMakeSetupManifest.xml looks like this:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
  <security>
    <requestedPrivileges>
      <requestedExecutionLevel level="asInvoker"/>
    </requestedPrivileges>
  </security>
</trustInfo>
</assembly>

I can't think of an easier way to do it. Maybe this is a good question for
the NSIS community? If there's a way to do it via NSIS script, we could add
it into CPack's default NSIS script, or at least tell you how to hook it
in... Let us know if the NSIS community gives you any other info...


HTH,
David Cole


On Wed, Aug 13, 2008 at 11:02 AM, Mark Turney <markturney at gmail.com> wrote:

> Hello,
>
> I'm working on a C++/Boost/QT4 application for unix, osx, and windows.  I
> am currently using cpack / nsis to create the installer for windows.
>
> During installation on Vista, I am given a dialog titled "This program
> might not have installed correctly" that supplies two user options
> "Reinstall using recommended settings" or "This program installed
> correctly".
>
> After doing some research, it looks like this is a Vista UAC issue being
> addressed by the nsis folks.  Here is a page covering the latest approach to
> a fix that I can find:
> http://nsis.sourceforge.net/UAC_plug-in
>
> Does anyone know of a cpack oriented fix, or is there currently a way
> within cpack to set the RequestExecutionLevel within the generated NSIS
> script?
>
> Thanks a ton,
> Mark
>
> _______________________________________________
> CMake mailing list
> CMake at cmake.org
> http://www.cmake.org/mailman/listinfo/cmake
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20080820/48cfec2e/attachment.htm>


More information about the CMake mailing list