OpenGL application standalone installer

Started by
5 comments, last by pmvstrm 11 years, 7 months ago
I have made an OpenGL based game program for windows platform using Visual C++(Express edition 2008). i'm using GLUT. Now that the project is complete, the next step is to create a standalone installer for any windows based system.
Can anyone give me an insight into the details i should know while creating installer packages?

>> Is it possible to generate the setup file using Visual Studio itself?

>>How do i include the visual studio redistributable package in the setup?

>>While testing the project on a Windows 7 system, the program continuously crashed saying "APPCRASH/ faulting module openGL32.dll".
I tried replacing the opengl32.dll file with previous versions but didn't work. Tried teinstalling the OpenGL, even reinstalled the drivers (Intel 82945G Express chipset) ,but the bug persists.
Advertisement
Using glut you have to include that...anyway the best solution is to develop cross platform. Why? Because you can more easily crosscheck for faults and get a broader view while testing with different compilers.
Double check that you are sticking to the OpenGL standard. Just because something 'works' (or appears to work) on some driver does not mean you are not doing several big no-nos forbidden by the standard that might break your program on another card or even after the next driver update.

Of course it could also be the driver, I have had bad experience with Intel drivers. If it is the driver, there is no real solution. Possible alternatives are:
1) find out what functionality causes the problem and do not use it. In my case the driver claimed it could do FBOs but just failed horribly at it.
2) use a different code path for cards known to cause problems.
3) accept that the program won't run on that line of cards.
4) hope for driver updates. Of course in my case Intel hadn't updated the Vista driver since 2009, but you probably have more luck on Windows 7.
The application performed just fine under Windows XP on the same system. So i doubt if its the driver support issue which is causing the bug..

The application performed just fine under Windows XP on the same system. So i doubt if its the driver support issue which is causing the bug..


Windows XP and Windows 7 have very different drivers so don't rule that out.

Direct3D has need of instancing, but we do not. We have plenty of glVertexAttrib calls.

I don't know if you have tried it already but I found a program called gDEBugger quite useful for finding opengl messups that I had made:

http://www.gremedy.com/

It hopefully might flag up an error either running on your development system, or you could run it unders windows 7 on the test system.

Could be something like writing to memory outside where you should be, or you are not initializing something you are passing to opengl and relying on whatever happens to be in the memory to stop it crashing. I'd triple check everything you are sending to opengl. I had a similar bug where I was not resetting glPixelStorei with glTexSubImage2D recently.

If you aren't able to install the IDE etc on the win 7 environment, you could also make several builds of your program, and #ifdef out your opengl code, then gradually reintroduce it bit by bit to try and pin down what is causing the issue.
If you want to create an Setup, i recommend you to use an Windows Installer compliant Setup Authoring Tool.
Be Warned: There are some NON MSI (Windows installer Package) Tools out there but they are not supported from
Microsoft and bypassing the Windows Installer System. I using WIX Windows Installer XML (OpenSource and free
from Microsoft) for creating Windows Installer compliant MSI Setups wich runs flawless on XP/Vista/Win7/8 (32/64-Bit)
http://wix.codeplex.com/releases/view/60102

But this is NOT an easy click by click Setup Creator. You have to study and learn to use it ( i think you need upto 1-3
a days to figure it out for your needs.But if you know to do it, you never miss it anymore. Of cause you can also generate
FullPatches and Deltapatches *(.msp) Deltapatches are great if you change a hughfile and only to shiip the changed
bits but not the complete, largefile. Of cause Repair/Remove/Add User, Add Service/Unisntall Service Registry and
File Copy and Shortcut Creation can be performed.

Peter

This topic is closed to new replies.

Advertisement