PDA

View Full Version : Tip: Project tested in DF20.0 no longer runs in DF19.1



wila
9-Dec-2019, 10:26 AM
This is a tip.

It can't be fixed unless changes are made in DF19.1 and it can be argued that it is expected behavior and not a bug... somehow.

So I was happily testing with 64 bit in DF20.0 and things started to work quite well.

Then I figured to see and find what I broke in DF19.1.
After removing some UTF8 BOM markers it compiled fine, but it refused to run. Umm OK

When double clicking it would just "ding" and not run.

Not in the debugger..
Not outside of the debugger..
No mention of it in the Application Event log either.

This one had me stumped for a bit, so went back in time via source control to June this year.
Still unable to run after compiling it. But I know it works fine in DF19.1...

So in case you are wondering how that is even possible..

Apparently it is due to the magic of .manifest files :D

The reason is that I had not configured a suffix. Didn't change a thing, just not added it because I had not even thought about doing so, just switched from 32 bit to 64 bit compiles via the comboform in the menu bar.

In DF19.1 the expected manifest has these lines:


<?xml version="1.0"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="DAW.DataFlex.Hammer4.src" type="win32"></assemblyIdentity>
<description>Hammer4.src</description>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="X86" publicKeyToken="6595b64144ccf1df" language="*"></assemblyIdentity>
</dependentAssembly>
</dependency>


What it was due to my DF20 experiments was this:


<?xml version="1.0"?>
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity version="1.0.0.0" processorArchitecture="amd64" name="DAW.DataFlex.Hammer4.src" type="win32"></assemblyIdentity>
<description>Hammer4.src</description>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="amd64" publicKeyToken="6595b64144ccf1df" language="*"></assemblyIdentity>
</dependentAssembly>
</dependency>


cheers!
--
Wil

Marco
9-Dec-2019, 03:52 PM
Nice one, thanks for sharing!