OS questions might just be affecting deployment of executables to server.



  • Alright this will probably seem like a silly CM question, but I have a suspicion on this.

    Right now, my company is deploying to the aws cloud which are running windows server 2012 r2 versus me on windows 10 pro. I'm getting bad dll loads of the qsqlpsql.dll plugin from the "%1 is not a valid win32 application" error smells of OS mismatch. Scanning stack overflow is pointing me in the direction of an OS mismatch, and I might need to purchase myself a version of the OS myself.

    My question is, is there a way I can compile for a certain OS without needing to press this headache? Do I need to download a specific SDK and do a subsystem target? I'm just not sure on this one... but between that error I'm getting and the mismatches in dependency walker, I feel it might be something in this direction, but I've never done something like this. Or do I need to virtualize the OS, and just straight up 1:1 the version updates and compile to the amazon AWS server? Or am I even in the ballpark?

    I'm going to bed for the night, and I'll read replies in the morning... just wanted to write this out while fresh in my head.


  • Lifetime Qt Champion

    Hi,

    Sorry I don't have a direct answer for it only some advices to try to find a solution.

    The first thing I'd check (maybe you've done it already) is that the version of PostgreSQL on the server and on your machine are the same.

    Also, when deploying your application, are deploying it with all dependencies provided (i.e. psql.dll) ?

    Do you also provide the Microsoft Run Time for your version of Visual Studio ? Or is it installed on the server ?



  • Thanks for the reply!

    Basically, what I'm running into is the psqlqsql.dll is loading basic things such as libpq.dll etc that I have already provided with the application (confirmed with dependency walker). However, I'm having issues with what does seem to be with redists and lower level OS stuff. I'm working a solution on one end attempting to compile everything on a virtual server (getting that installed turned out to be an adventure in of itself) and if it's still happening after putting the exes on the server after compiling, I highly suspect it's missing OS libraries. I'm going to link an image of the things I am seeing on the server to help you out figure out what I've missed on my end here.

    Pics:

    https://www.dropbox.com/s/d0l50ylh2e6a41e/depends-qsqlpsql-stuff-1.PNG?dl=0

    https://www.dropbox.com/s/xvke8c7m0otri3s/depends-qsqlpsql-stuff-2.PNG?dl=0

    I'll be on all night pounding on this.


  • Lifetime Qt Champion

    Are the OpenSSL .dlls also coming from the PostgreSQL package ?



  • The database is on a remote server elsewhere, so the openssl stuff I have no clue outside what I included already from my system.