<< Click to Display Table of Contents >> Navigation: 2. Components > 2. EXE-Compiler > Smart Package Robot 's "Script to Executable" Compiler |
Compiler-Directives
'#MAN:
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).
'#MAN:
The '#MAN: Compiler Directive is used to change the Manifest-Type of the final Standalone EXE-File. You can choose between:
- asInvoker
- requireAdministrator
- highestavailable
- none
alternative you can specify an own ".xml"-File with Path:
'#MAN:?path\User-Manifest.xml
For example:
'
' choose Manifest that shows that admin rights are required:
'#MAN:ra
or
'#MAN:requireAdmin
or
'#MAN:User-Manifest.xml
If you omit the '#MAN: - directive, per default "asInvoker" is used for the compiled Package. The internally used MR01.exe (Robot-Executable) does not have an own Manifest therefore.
Syntax:
'#MAN:[P1]
P1 - (optional) Manifest Type can be one of these:
- ai,asInvoker
- ra,requireAdministrator
- ha,highestavailable
- -,none
or you can specify an ".xml"-Manifest File with complete path.
If you just specify the filename, ?path\ is taken as path.
'#MAN:User-Manifest.xml
Example:
'----------------------------------------
' Compiler Manifest
'----------------------------------------
'
'
' "requireAdmin" Manifest is used
'#MAN:ra
' or
'#MAN:requireAdmin
' No Manifest will be used
'#MAN:-
' or
'#MAN:None
' "highestavailable" Manifest is used
'#MAN:ha
' or
'#MAN:ra
'
'#MAN:User-Manifest.xml
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:
The Icon of the Executable will show the Letter of the used Manifest, A, H or R.
In case you specify a "User-Manifest.xml", the Icon will show "U".
Internally this statement can be emulated using the '#CIL:-Directive:
'#CIL:Rempara|Manifest|(Number 0 to 3)
and in case a User-Manifest is used:
'#CIL:Rempara|Manipfad|(path)
Limitations:
-
See also:
• 2.3.1. '#MAU: - UI-Access for Manifest for Executable
• 2.4.0. '#VER: - Version-Informations
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