I wrote the game in Visual C++ Express 2010.
So i need to distribute the VC++ 2010 runtimes.
But that’s not enough.
I get the error
Resolve Partial Assembly failed for Microsoft.VC90.CRT. Reference error message: The referenced assembly is not installed on your system.
When starting the game on another PC.
Also my manifest file says
assemblyIdentity type=‘win32’ name=‘Microsoft.VC90.CRT’ version=‘9.0.21022.8’ processorArchitecture=‘x86’ publicKeyToken=‘1fc8b3b9a1e18e3b’
Have the SDL libs been compiled in VC++ 2008 or why do i get this?
And what can i do?
If this is your manifest file (from your application) then you need to remove that bogus entry. You obviously don’t need VC90 for VC100.
If it is a manifest file from a SDL2.dll, then it would be interesting to know where you got that.
Yes, it’s in my game .exe’s manifest. I deleted the entry and set “Generate Manifest” to NO. Looks like it works. Hope it does not have any side effects.
You may want a manifest if your application is high DPI aware. The best way to set high DPI awareness is through the manifest, but you can always write it yourself and don’t even have to embed it. Although there are also functions (SetProcessDPIAware and SetProcessDpiAwareness) that can be called at runtime even though their use is discouraged.
If you don’t know what high DPI awareness is: If an application that is designed with pixels in mind is displayed on a screen with very small pixels, it would be very hard to read. To ensure compatibility, Windows will transparently scale the application up (probably with a bilinear filter). There’s some blurriness with that which can be avoided by telling Windows that your application is high DPI aware.
Thanks for the explanation. I don’t think i need this DPI stuff for my game.