Index: AE/Installer/trunk/source/aeinstallerapp.cpp
===================================================================
--- AE/Installer/trunk/source/aeinstallerapp.cpp	(revision 381)
+++ AE/Installer/trunk/source/aeinstallerapp.cpp	(revision 382)
@@ -112,27 +112,43 @@
 	
 #ifndef WIN32
-	// CIP: test for the third-party mono framework, because without it, on Mac, we are up a creek
-	
-	
-	if (!monoPresent) // abort! abort! abort!
+	// test for the third-party mono framework, because without it, on Mac, we are up a creek
+	char monoCommand[300] = "which mono >> ";
+	strcat(monoCommand, system_complete("./mono_check.log").string().c_str());
+	system(monoCommand);
+	fstream file;
+	file.open("./mono_check.log");
+	string line;
+	int line_count = 0;
+	while (!file.eof())
 	{
-		// CIP: disable window controls, present alert with URL to download mono, alert window has one button, "Quit"
+		line_count++;
+		getline(file, line);
 	}
+	file.close();
+	remove("./mono_check.log");
+	
+	if (line_count <= 1) // this means that "which mono" returned nothing -- abort! abort! abort!
+	{
+		wxMessageDialog* MonoDialogOfDeath = new wxMessageDialog(TheWindow, "You don't have 'mono' installed! 'mono' is a command-line tool required by the Edition. You can download it from:\nhttp://www.go-mono.com/mono-downloads/download.html (OS X 10.4+) or\nhttp://edt.oni2.net/AE/MonoFramework10.3.dmg (OS X 10.3)\n\nPlease install 'mono', then open this Installer again.",  "AE Installer Alert",  wxOK | wxICON_EXCLAMATION	, wxDefaultPosition);
+		MonoDialogOfDeath->ShowModal();
+		TheWindow->Close();
+		return true; // it's quittin' time, Joe
+	}
 #endif
 
 	//anything after this is done after the window appears...
-		if ( !exists("../GameDataFolder") ) {
+	if ( !exists("../GameDataFolder") )
+	{
 		wxMessageDialog* YesNoDialog = new wxMessageDialog(TheWindow, 		"You haven't globalized yet! \nYou must globalize to use the Anniversary Edition framework. \nWould you like to globalize now? (This could take a while...)\n(Selecting \"No\" will exit this program...)",  "AE Installer Alert",  wxYES_NO | wxICON_EXCLAMATION	, wxDefaultPosition);
 
-			if (YesNoDialog->ShowModal() == wxID_NO) { //if the user said no...
+		if (YesNoDialog->ShowModal() == wxID_NO) // if the user said no...
 			TheWindow->Close();
-		}
-		else {
+		else
+		{
 			TheWindow->InstallButton->Disable();
-		TheWindow->ReglobalizeButton->Disable();
+			TheWindow->ReglobalizeButton->Disable();
 
 #ifdef WIN32
-
-		boost::thread thrd3(globalizeData);
+			boost::thread thrd3(globalizeData);
 		//globalizeData();
 		//boost::thread::create_thread(&globalizeData);
@@ -140,9 +156,9 @@
 		// Tg.create_thread( &globalizeData(), this );
 #else
-		globalizeData();
+			globalizeData();
 #endif
 		
-		TheWindow->InstallButton->Enable();
-		TheWindow->ReglobalizeButton->Enable();
+			TheWindow->InstallButton->Enable();
+			TheWindow->ReglobalizeButton->Enable();
 		}
 	}
Index: AE/Installer/trunk/source/aeinstallerapp.h
===================================================================
--- AE/Installer/trunk/source/aeinstallerapp.h	(revision 381)
+++ AE/Installer/trunk/source/aeinstallerapp.h	(revision 382)
@@ -23,5 +23,4 @@
 ////@end includes
 
-bool monoPresent = false; // the Mac won't be able to do anything without mono installed
 
 /*!
