<< Click to Display Table of Contents >> Navigation: 2. Components > 2. EXE-Compiler > Smart Package Robot 's "Script to Executable" Compiler |
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.
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.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