Jump to content
IGNORED

Need help creating "installer" for Mac OS X for SDK


DZ-Jay

Recommended Posts

I have created a "Software Development Kit" (SDK) for IntyBASIC, a BASIC compiler for the Intellivision. The SDK not only offers a "turn-key" installation of all the tools necessary (compiler, emulator, etc.), but also includes sample files, libraries, and a bunch of tools to simplify the development work-flow of Intellivision games in IntyBASIC.

 

I have packaged all this in an "installer wizard" for Windows and it works very well. Unfortunately, I can't seem to figure out how to do the same for the Mac. :(

 

The installer not only has to copy the files (that's easy), but must also set up some environment variables for the tools to work adequately. It should match the configuration of its Windows counterpart as closely as possible.

 

Here are the requirements I have:

  • "Turn-key" installation: just double-click, next, next, next, and you're done.
  • The entire distribution is copied to a new folder in the user's "Documents" folder.
  • It creates a new sub-folder for users' projects.
  • A couple of environment variables are set for the tools to know where everything is.
  • A link (shortcut) is created on the Applications folder (or on the Desktop, wherever) that opens the Terminal app in the SDK's installation folder, with the environment variables set.
  • Needs to run in latest Mac OS X, and all the way to Mountain Lion (10.8.5) -- because that's what I use. ;)
  • Re-running the installer (or running a newer version) should update all folders except the special user "Projects" folder.

That's it. Simples. I'm just not a Mac programmer (well, I'm not much of a programmer at all).

 

Preferably, I would like to have a custom configuration for Terminal, you know with a specific settings. That and the environment variables is what trips me. :(

 

I would appreciate any help on this. Thanks!

 

-dZ.

Edited by DZ-Jay
Link to comment
Share on other sites

I think it would be nicest if you just distributed a zip that had everything in the proper place in a self-contained, portable folder that didn't touch the system environment.

 

But if you want to make a package installer:

https://stackoverflow.com/questions/11487596/making-os-x-installer-packages-like-a-pro-xcode-developer-id-ready-pkg

 

If you do this, please consider making an UNinstaller to bring everything back to where it was before.

Link to comment
Share on other sites

I think it would be nicest if you just distributed a zip that had everything in the proper place in a self-contained, portable folder that didn't touch the system environment.

 

Nah, most people don't want to go through the trouble. (I think most veteran programmers severely over-estimate the inclination and disposition of newbies in setting up and configuring their programming environment. Sure, you can say "if they were really interested, they would do it; but part of the point is to attract a new audience and build that interest in the first place.)

 

The installer is intended to put everything in a self-contained folder in the user's Documents, add three environment variables, and add one folder to the executable path. Of course, the idea is to be able to uninstall cleanly as well. We do this on Windows right now.

 

 

 

But if you want to make a package installer:

https://stackoverflow.com/questions/11487596/making-os-x-installer-packages-like-a-pro-xcode-developer-id-ready-pkg

 

If you do this, please consider making an UNinstaller to bring everything back to where it was before.

 

Thanks for that. That tutorial seems more complicated than I have experienced. I already built an installer with PackageMaker. I was just stuck on how to make it update the environment variables and importing customized settings to Terminal.app. Nonetheless, I'll give it a shot.

 

Alternatively, instead of modifying the environment globally, is there a way to have an icon that launches Terminal and runs the "export" shell commands to set the environment during the Terminal session? Sort of like what "bash.rc" does, but for a single specialized instance of Terminal, rather than having to much around with the user's environment. Something like what a "PIF" file does in DOS.

 

Thanks,

-dZ.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...