.net - 'Ikke understøttet 16-bit' fejl for en 32-bit app på en 64-bit Windows

Indlæg af Hanne Mølgaard Plasc

Problem



Appen:



  • Er en enkel WinForms VB.net app bygget ved hjælp af VS2015 målretning x86

  • Ingen tredjeparts kontrol. Der er 7 referencer, og alle er System.*

  • Målretning .NET 3.5

  • Kode underskrevet ved hjælp af et underskrivelsescertifikat



Miljøet:



  • Kører succesfuldt på Win7 Pro 64-bit, Win10 Pro 64-bit

  • Kører succesfuldt på Win7 Enterprise 64-bit

  • Men Win8 Enterprise og Win10 Enterprise kaster 'Unsupported 16-bit Application' -fejl (se link nedenfor)

  • Hvert af de ovennævnte systemer findes i forskellige klientmiljøer (muligvis forskellige politikker, forskellige anti-virus osv.).

  • .NET 3.5 burde have været installeret på maskinen. Hovedprogrammet, der overfører WebUpdate.exe, er også bygget til målretning .NET 3.5. Hvis 3.5 ikke er installeret, kunne hovedapplikationen ikke være kørende, og WebUpdate.exe kunne ikke være blevet downloadet/påberåbt.



Fejlmeddelelse: Ikke-understøttet 16-bit applikation [2]


Al søgning på denne fejl bringer kun diskussioner om ægte 16-bit applikationer. Men denne app bygget i VS2015 målretning x86 kan ikke være en 16-bit applikation. Faktisk det virker på Win7 Enterprise/Pro og Win10 Pro. Det eneste andet emne påpeger, at McAfee kan ændre appen til 16- bit (?!). [3]


Enhver hjælp/pointer/forslag er værdsat.


Opdater


Vi installerede hovedapplikationen på en ren, helt ny Windows 10 Enterprise; vi kunne ikke repro problem.Ved at køre hovedapplikationen blev vi bedt om at installere .NET 3.5. Efter installationen kørte hovedapplikationen fint. Vi fik det til at se efter opdateringer, det hentede WebUpdate.exe og kører det fint. processen afsluttet med succes.


Dette fortæller os, at 16-bitsproblemet burde være maskinens specifikke. Alligevel har vi ingen anelse om, hvad det kunne være.

Bedste reference