when i compile my script i get:
Invalid command: UAC::RunElevated
UAC.dll is in my plugin's directory, but i am not sure its it loading properly:
in the installer output i see:
Processing plugin dlls
many individual lines are listed
e.g.
BgImage::Clear
BgImage::Sound
but for UAC I have:
UAC::_
does UAC::_ mean its collecting all functions or does this indicate a problem?
Invalid command: UAC::RunElevated
13 posts
assuming UAC::_ is not indicating a problem ...
i also verified that UAC.nsh is loaded correctly
(tried the .dll from the current branch as well as experimental, tried both the "A" and "U" versions... same result)
i also verified that UAC.nsh is loaded correctly
(tried the .dll from the current branch as well as experimental, tried both the "A" and "U" versions... same result)
well i got it to compile by changing:
UAC::RunEvevated
with
!insertmacro UAC_RunElevated
is this correct?
UAC::RunEvevated
with
!insertmacro UAC_RunElevated
is this correct?
Yeah, the export name changed, and yes, use the macro from now on...
UAC::ExecCodeSegment
same problem for UAC::ExecCodeSegment?
is there a macro i should use in its place?
same problem for UAC::ExecCodeSegment?
is there a macro i should use in its place?
Yes, all exports have been renamed to _. UAC_AsUser_Call is the basic replacement macro (With more specific versions like UAC_AsUser_ExecShell)
I'm sorry I don't understand:
what specifically do I substitute for UAC::ExecCodeSegment as in the code example:
GetFunctionAddress $0 CreateShortcuts
UAC::ExecCodeSegment $0
what specifically do I substitute for UAC::ExecCodeSegment as in the code example:
GetFunctionAddress $0 CreateShortcuts
UAC::ExecCodeSegment $0
You cannot call UAC::Whatever directly anymore. You have to use the macros in UAC.nsh. For the case of ExecCodeSegment, you'll probably need something like
!insertmacro UAC_AsUser_Call function YourFunc ${UAC_SYNCREGISTERS}|${UAC_SYNCINSTDIR}
!insertmacro UAC_AsUser_Call function YourFunc ${UAC_SYNCREGISTERS}|${UAC_SYNCINSTDIR}
so I assume you mean:
!insertmacro UAC_AsUser_Call ExecCodeSegment CreateShortcuts ${UAC_SYNCREGISTERS}|${UAC_SYNCINSTDIR}
so with that i get:
!insertmacro: UAC_AsUser_Call
Push: $0
Invalid command: GetExecCodeSegmentAddress
Error in macro UAC_AsUser_Call on macroline 2
!insertmacro UAC_AsUser_Call ExecCodeSegment CreateShortcuts ${UAC_SYNCREGISTERS}|${UAC_SYNCINSTDIR}
so with that i get:
!insertmacro: UAC_AsUser_Call
Push: $0
Invalid command: GetExecCodeSegmentAddress
Error in macro UAC_AsUser_Call on macroline 2
I cannot find 'GetExecCodeSegmentAddress' in any of the recent UAC.nsh versions. You're probably using an out-of-date version.
ok i think you meant literally:
!insertmacro UAC_AsUser_Call function CreateShortcuts ${UAC_SYNCREGISTERS}|${UAC_SYNCINSTDIR}
correct?
if so, what does:
${UAC_SYNCREGISTERS}|${UAC_SYNCINSTDIR}
mean?
could someone update http://nsis.sourceforge.net/UAC_plug-in so the examples map to the current code reality?
thanks.
!insertmacro UAC_AsUser_Call function CreateShortcuts ${UAC_SYNCREGISTERS}|${UAC_SYNCINSTDIR}
correct?
if so, what does:
${UAC_SYNCREGISTERS}|${UAC_SYNCINSTDIR}
mean?
could someone update http://nsis.sourceforge.net/UAC_plug-in so the examples map to the current code reality?
thanks.
i am using uac.dll and UAC.nsh
in version UAC_v0.2.2d.zip
in version UAC_v0.2.2d.zip
Syncregisters and syncinstdir do exactly what they sound like: they synchronize the registers (registers are the NSIS standard variables $0, $1, etc) and the instdir variable. And if you're wondering 'Synchronize between what?', I would suggest you stop trying to use the UAC plugin...
As for code examples, there are several nsi example files in the zip.
As for code examples, there are several nsi example files in the zip.