Smart Package Robot 's "Script to Executable" Compiler

<< Click to Display Table of Contents >>

Navigation:  2. Components > 2. EXE-Compiler >

Smart Package Robot 's "Script to Executable" Compiler

'#MAU: - Specify UI-Access for Manifest for the Executable

Previous Top Next


Compiler-Directives

 

'#MAU:

Used to specify a manifest type for the executable that is to be created

 

 

Intention

 

Compiler-Directives start with the Sequence:

'#

Which is a comment-sign on the left and then the #.

 

Because of the comment sign, the running script ignores these commands at Runtime (at time of script execution).

 

'#MAU:

The '#MAU: Compiler Directive is used to change the Manifest-UIAccess of the final Standalone EXE-File.

     It's needed for "assistive technology application" (for example helpdesk-applications).

You can choose between:

 

- 0 (default) - UI-Access is switched Off, switched to "false"

- 1 - UI-Access is switched On, set to "true"

 

If you omit the Directive, the default value is : 0

 

For example:

'

' choose Manifest that shows that admin rights are required:

'#MAU:0

or

'#MAU:1

 

In the picture below you can see, how it looks in the final Manifest.

 

Manifest_sexurity

 

Important Note:

If you specify a User-Manifest, this directive will not change the manifest.
It will only work with the default- built in Manifest's.

 

If you omit the '#MAU: - directive, per default "0" is used for the compiled Package.

For more Infos on the uiAccess-Parameter see here:

 

https://msdn.microsoft.com/en-us/library/windows/desktop/ee671610(v=vs.85).aspx

 

 

 

Syntax:

 

'#MAU:[P1]

 

P1 - Can only be 0 or 1, anything else will evaluate to zero.

 

Example:

 

'----------------------------------------

' Compiler Manifest

'----------------------------------------

'

'

' Switch UIAccess off

'#MAU:0

 

' Switch UIAccess on

'#MAU:1

'

 

END.

 

 

Manifest Explanation:

 

This is the Manifest that is basically used for the SPR.
The brown colored lines are internally changed to the value that is needed for "required execution level" and "UIAccess".

 

 

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">

 

<assemblyIdentity type="win32" name="{decriptioA}" version="1.0.0.0" processorArchitecture="x86" />

 

<description>{decriptioB}</description>

 

<dependency> <dependentAssembly> <assemblyIdentity

type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0"

processorArchitecture="x86" publicKeyToken="6595b64144ccf1df" language="*"  />

 

</dependentAssembly> </dependency> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">

 

<security>

<requestedPrivileges> <requestedExecutionLevel

 

' The following two lines differ due to the Manifest settings

level="{levelio}"

uiAccess="{uiacio}" />

 

</requestedPrivileges> </security> </trustInfo>

<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">

<application>

 

<!-- Windows 10 -->

<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}"/>

<!-- Windows 8.1 -->

<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}"/>

<!-- Windows Vista -->

<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>

<!-- Windows 7 -->

<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>

<!-- Windows 8 -->

<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>

</application> 

</compatibility>

 

<asmv3:application>

<asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">

<dpiAware>true</dpiAware>

</asmv3:windowsSettings>

</asmv3:application>

</assembly>

 

 

Remarks:

 

1. If needed, SPR-compiled EXE-Files can now be digitally signed with a certificate.

 

2. This command will internally evaluate to

   '#CIL:Rempara|Manifest_UIAccess|0

   '#CIL:Rempara|Manifest_UIAccess|1

 

 

 

Limitations:

 

-

 

 

See also:

 

    2.3.0. '#MAN: - Manifest for Executable

 

See further:

2.0.0 Smarty's EXE-Compiler

2.1.1 '#RAU: - Run As User

2.1.2 #AOS: - Choose valid OS for executable

2.1.3 '#EXE: - Set Executable Path and Name

2.1.4 '#EXV: - Execute on System Desktop

2.1.5 '#HID: - Hidden Desktop Scripts

2.1.7 '#SPI: - Special Instructions

2.1.8 '#INC: - Include Files and Folders into the Executable

2.1.9 '#EXC: - Exclude Files or Dirs from Executable

2.1.A #LIB: - User-Library Path

2.1.B #CRY: - enCrypt the Script

2.1.C '#AFT: - Run AFTER Compile

2.2.1 '#ICO: - Choose own Icon

2.2.2 '#ICF: - Icon from Icon-Folder

2.2.3 '#ICS: / '#ICS: Icon-Set

2.3.0. '#MAN: - Manifest for Executable

2.3.1. '#MAU: - UI-Access for Manifest for Executable

2.4.0. '#VER: - Version-Informations

2.5.0. '#CIL: - Direct Compiler Interface