Migration Guide : Migrating from Version 9.1 : Manifest file changes some GUI appearance on Windows
Manifest file changes some GUI appearance on Windows
Since version 7.5, a manifest file (abt.exe.manifest) has been shipped and included by default with the product. The inclusion of such a manifest file defers decisions about some GUI appearance elements to Windows. The manifest file (abt.exe.manifest) causes the associated application (abt.exe) to use Windows Common Controls version 6.
It is possible for a user application to be delivered without a manifest. In this case, some Windows User Interface customization may be needed to get the User Interface to look and feel as intended.
Reason for change
The introduction of HiDPI relies on specifying certain assemblies, especially the use of version 6 of Windows common controls.
This also affects the ‘VA: Reports’ feature. In this case, the symptom is grossly large icons after invoking ‘AbtReportPrinter default’.
Action required
If you use the manifest file with your application, no action is required.
If you choose not to use a manifest file, either disable HiDPI or add a customized manifest with just the portion of the manifest which the HiDPI needs.
How do I disable HiDPI?
There are two parts to disabling HiDPI:
In the Smalltalk image, execute DPIScalerImpl activate and save the image.
The other step is to either remove the manifiest or remove those lines of the manifiest that concern HiDPI. Those lines are the compatibility and application "windowsSettings" portions. As of version 9.2, that portion appears below.
<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 8 -->
<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}"/>
<!-- Windows 7 -->
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
<!-- Windows Vista -->
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
</application>
</compatibility>
<application>
<windowsSettings>
<dpiAwareness xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">PerMonitor</dpiAwareness>
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">True/PM</dpiAware>
</windowsSettings>
</application>
 
The core is
<dpiAwareness
xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">
PerMonitor</dpiAwareness>
and
<dpiAware
xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
True/PM</dpiAware>
 
Last modified date: 06/19/2020