Executables are not compatible with Vista and higher
Description
The LB Editor and Runtime Engine executables are not compatible with Vista and higher, so virtualization is enabled for them. To resolve this issue one needs to add an additional property to the manifest.
Example code to demonstrate the bug.
See Step 6: Create and Embed an Application Manifest (UAC) for further details.
Example code to work around the bug.
Manifest for the Editor
Can be saved as liberty.exe.manifest or lbpro.exe.manifest in the folder where the executable resides.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
version="4.0.4.0"
name="Liberty BASIC"
processorArchitecture="x86"
type="win32"
/>
<description>Liberty BASIC IDE</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.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel
level="asInvoker"
uiAccess="false"
/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
Manifest for the Runtime Engine
Can be saved as run404.exe.manifest or {your name}.exe.manifest in the folder where the executable resides.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
version="4.0.4.0"
name="Liberty BASIC"
processorArchitecture="x86"
type="win32"
/>
<description>Liberty BASIC Runtime Engine</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.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel
level="asInvoker"
uiAccess="false"
/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>