Installer for win32 app created with cocos2d-x

Do you have a tutorial or something about creating an installer package for win32 apps built with cocos2d-x?
Which installer is recommended (for example Nullsoft Installer)?
Thanks

1 Like

Bump.

I know this is a Visual Studio and Win32 installer or packaging question, and not a Cocos2d question, but it might be nice to at least recommend a standard way or point to a tutorial that walks through one method of distributing win32 app. Maybe Visual Studio 2013+ already has a deployment option or project that can be used, but so far has eluded me. Xcode has “Archive” for iOS/Mac, Eclipse has build to APK for android, and WP8 has the deploy model with their store integration.

I’m currently just copying the Debug.Win32 folders and removing all .obj and then adding in the resources folder and finally compressing into .zip. This seems to work fine for debug, but not release build yet.

Well, I don’t have any automated solutions, but I just use winrar’s installer creator. If you need something free, I guess you could check out some of these (since there doesn’t seem to be a free alternative to InstallShield).

I would not use “Debug” I would suggest you configure a “Release” mode.

We distribute Zip files for Steam, GOG and Desura.

We create a nullsoft installer from the zip file for people who want it directly.

I have also used WinRar in the past. Depending on your “Release” configuration, you can move the .obj and .pdb files to a secondary location so it’s not manual. Then, zip your folder in a post-build step and script a call to nullsoft.

1 Like

Good advice. We do have a “test” (debug) and release mode from the previous mobile release, but for some reason the Release.Win32 build crashes when run outside visual studio, even with the same set of Debug/Release .lib and .dlls. I’m sure I’ll figure that one out pretty quickly.

I’ve been out of Win32 dev for a long time so the suggestions and tips on what you use are helpful, thanks!

I’ve got some old C++ win32 code I wrote when I made a simple custom installer for an app I had on the market. It still works, but I haven’t moved it away from Metrowerks Codewarrior. I’d be happy to share. It installs files where you want and makes registry entries…

I could clean it up and place it on GitHUB.

Yes, Yes, I know, why Codewarrior. I still build this app in a Windows XP virtual machine!!

Since we’ll be in beta for a few months I think for now we’ll write a script to create a self contained .zip that runs correctly when extracted anywhere. Eventually we’ll probably look at NSIS or Inno installer tools in a month or two. Hopefully we find that we don’t need to touch the registry, heh.

Thanks for the offer, and feel free to still share if you want of course. I would read through it for reference, but may or may not use it directly. If it’d take a bit of work though don’t worry about it.

I guess I was also curious about which files from an untouched cocos new build are required to run on a different machine. I assume all .dll files are required, for example, and should run fine in any directory on a different machine with just the EXE, assets, and DLLs.

Here’s a topic that better asks this question.

Our software requirements for Steam are:

==== SYSTEM REQUIREMENTS ===

  • Microsoft Windows XP or Higher
  • Video Card that can support Open GL 2.0 (modern cards)
  • Microsoft Visual C++ Redistributable Packages for Visual Studio 2012 x86

The Release.Win32 build crashes when run outside visual studio is probably that it cannot find your resources.

In a “Post Build” step in MSBuild, we use XCopy to dump the Resources folder’s contents into Release.win32

In your Debug build, it probably has the “Working Directory” set to $(ProjectDir)…\Resources

Can we use “iexpress” of windows to create installation file for our games?
Right now i am trying to create it, but its throwing an error at last like
“Unable to open the report file”.
If anyone succeed, please share how to do it.

@dogwalker creates windows installers but his tools might be different.