dictation-toolbox / natlink

Natlink provides the interface between Dragon and python
Other
25 stars 17 forks source link

Add initial DPI v16 support #158

Closed LexiconCode closed 1 year ago

LexiconCode commented 1 year ago

The adds initial support for DPI v16. This simply adds the required path for inno-code.iss

Todo:

Other thoughts However I think how we handle version numbers within inno-code.iss could improved.

dougransom commented 1 year ago

looked at code, checked with author about dragonversion=15 — that is as intended.

LexiconCode commented 1 year ago

looked at code, checked with author about dragonversion=15 — that is as intended.

Yes it is and that is confusing. Why is a confusing?

The installer makes decisions about which compiled .pyd is utilized. This is determined by version numbers. this is unfortunate because _natlink_core15.pyd actually supports DPI v14/v15/v16 not just DPI v15. _natlink_core13.pyd support only DNS v13 and possibly DNS v12.

The variable dragonversion should actually represent the installed dragon version and there should be logic elsewhere to handle if it's equal or greater than or less than version DPI 14

LexiconCode commented 1 year ago

looked at code, checked with author about dragonversion=15 — that is as intended.

@dougransom

The BestGuessDragonIniDir updates the global variable dragonversion

https://github.com/dictation-toolbox/natlink/blob/1cd632478ff28d2c2155f8c9a856b896f7acb02a/InstallerSource/inno-code.iss#L15

global variable dragonversion is returned in the following function GetDragonVersion

https://github.com/dictation-toolbox/natlink/blob/1896e74b0a2c6d4ba08550f339a11ec71aed5d4c/InstallerSource/inno-code.iss#L50

GetDragonVersion is used when registering .pyd which must be v13 or v15 as those are the only two filenames that exist. See _natlink_core{code:GetDragonVersion}.pyd below

https://github.com/dictation-toolbox/natlink/blob/1cd632478ff28d2c2155f8c9a856b896f7acb02a/InstallerSource/inno-setup-natlink.iss#L95