Page 1 of 1

[RESOLVED] Klavaro Package

Published: October 9, 2019 - 9:51 AM
by olaplanche
Hello,

I've created a package for the latest version of Klavaro 3.09.

However, the application seems to have issues under Windows 10 and requires running in Windows 7 compatibility mode (based on my tests). I'd like to know if it's possible to manage this directly within the package, either by creating a new shortcut for all users with Windows 7 compatibility mode, or through session setup on the application binary?

Thank you.

Re: Klavaro package

Published: October 9, 2019 - 11:47 AM
by Yoann
Hello,

An application's compatibility mode can be defined via the registry.
- For all users: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers
- For the current user: HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers

Each key corresponds to an application, with the executable's location as its name and the Windows version as a string value (REG_SZ).
- Windows Vista: ~ VISTARTM
- Windows Vista (Service Pack 1): ~ VISTASP1
- Windows Vista (Service Pack 2): ~ VISTASP2
- Windows 7: ~ WIN7RTM
- Windows 8: ~ WIN8RTM

In the install , you would simply need to use the registry_setstring to add a value to the registry.

Regards.

Re: [RESOLVED] Klavaro Package

Published: October 10, 2019 - 11:03 AM
by olaplanche
Thank you! Compatibility issue solved!

Here is the final code:

Code: Select all

# -*- coding: utf-8 -*-
from setuphelpers import *

uninstallkey = ['{F29D32EB-AC0D-4D2E-9A75-90A6C626CE6E}_is1']

def install():
    print('installing wapt-klavaro')
    install_exe_if_needed("klavaro-3.09-win-setup.exe",'/VERYSILENT /SUPPRESSMSGBOXES /NORESTART',key='',min_version='3.09')
    if windows_version()>=Version('10.0'):
        registry_set(HKEY_LOCAL_MACHINE,r'SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\AppCompatFlags\\Layers',r'C:\Program Files (x86)\Klavaro\bin\klavaro.exe',r'~ WIN7RTM FaultTolerantHeap',type=REG_SZ)
    remove_desktop_shortcut('Klavaro.lnk')
    uninstallkey.remove('{F29D32EB-AC0D-4D2E-9A75-90A6C626CE6E}_is1')

def uninstall():
    run(r'"%s\Klavaro\unins000.exe" /verysilent' % programfiles32)
    remove_tree(r'%s\Klavaro' % programfiles32)

Re: [RESOLVED] Klavaro Package

Published: October 22, 2020 - 3:55 PM
by jpele
Hello,

The package has been updated on the Store with compatibility mode for Windows 10.

Regards,
Jimmy