// Mesa 2.3 uninstallation file @option A: H: "exists:%1\mesa2bkg.bmp" @option !H: I: "ask:Mesa 2 does not appear to be installed in %1. Try to Uninstall anyway?" @option H: I: "ask:Are you sure you want to remove Mesa 2 from %1?" @errorexit !I: "Uninstall not attempted." @option A: K: "busy:%1\mesa2.exe" @option K: L: "ask:Mesa 2 appears to be running. Try to uninstall anyway?" @errorexit (K!L): "Uninstall not attempted." // turn on extended messages if necessary @poo H: OE // see if the class dlls are busy @option A: I: "busy:%1\wppalets.dll" @option A: J: "busy:%1\mesaprt.dll" // delete the installed files and backups (ignore errors) @delete A: %1\README.TXT %1\LICENSE.TXT %1\autoload.m2 %1\autoload.m2b %1\mesa2.exe %1\mesa2.HLP %1\MESA2.INI %1\mesa2bkg.bmp %1\mesa2.inf %1\mesa2doc.inf %1\mesacore.dll %1\mesafeed.dll %1\mesaprt.dll %1\mesares.dll %1\mesascpt.dll %1\mesasprd.dll %1\mesaui.dll %1\SPF2XX.DLL %1\wppalets.dll %1\wppalets.HLP %1\EXAMPLES\account.m2 %1\EXAMPLES\account.m2b %1\EXAMPLES\BASICS.M2 %1\EXAMPLES\BASICS.M2b %1\EXAMPLES\CURRENCY.M2 %1\EXAMPLES\CURRENCY.M2b %1\EXAMPLES\DATA.M2 %1\EXAMPLES\DATA.M2b %1\EXAMPLES\examples.m2 %1\EXAMPLES\examples.m2b %1\EXAMPLES\fandp.txt %1\EXAMPLES\features.m2 %1\EXAMPLES\features.m2b %1\EXAMPLES\feed.exe %1\EXAMPLES\feed.ico %1\EXAMPLES\FIRST_PA.M2 %1\EXAMPLES\FIRST_PA.M2b %1\EXAMPLES\INVOICE.M2 %1\EXAMPLES\INVOICE.M2b %1\EXAMPLES\page.exe %1\EXAMPLES\page.ico %1\EXAMPLES\portflio.m2 %1\EXAMPLES\portflio.m2b %1\EXAMPLES\present.m2 %1\EXAMPLES\present.m2b %1\EXAMPLES\SALES.M2 %1\EXAMPLES\SALES.M2b %1\EXAMPLES\SRC %1\EXAMPLES\TARIFFS.M2 %1\EXAMPLES\TARIFFS.M2b %1\EXAMPLES\SRC\Feed %1\EXAMPLES\SRC\Page %1\EXAMPLES\SRC\Feed\feed.cpp %1\EXAMPLES\SRC\Feed\feed.def %1\EXAMPLES\SRC\Feed\feed.dep %1\EXAMPLES\SRC\Feed\feed.h %1\EXAMPLES\SRC\Feed\feed.mak %1\EXAMPLES\SRC\Feed\feed.exe %1\EXAMPLES\SRC\Page\os2h.h %1\EXAMPLES\SRC\Page\page.cpp %1\EXAMPLES\SRC\Page\page.def %1\EXAMPLES\SRC\Page\page.dep %1\EXAMPLES\SRC\Page\page.mak %1\EXAMPLES\SRC\Page\page.rc %1\EXAMPLES\SRC\Page\page.exe %1\TEMPLATE\Expense.M2T %1\TEMPLATE\Invoice.M2T %1\DEFAULTS\COLHEAD.MNU %1\DEFAULTS\FORMAT.TBR %1\DEFAULTS\GENERAL.TBR %1\DEFAULTS\GRAPHICS.MNU %1\DEFAULTS\MAIN.MNU %1\DEFAULTS\RANGE.MNU %1\DEFAULTS\ROWHEAD.MNU %1\DEFAULTS\SHORTCUT.ACL // delete the uninstaller if not busy @option A: M: "busy:%1\uinstall.exe" @delete (A!M): %1\uinstall.exe %1\uinstall.lst %1\uinstall.1 %1\uinstall.cmd // delete the installation log @delete A: %1\install.log // uninstall the WPS dlls (only if tied to this copy) @mdel (AI): %1\wppalets.dll @mdel (AJ): %1\mesaprt.dll // remove directories @rd A: "%1\EXAMPLES\SRC\Feed" "%1\EXAMPLES\SRC\Page" "%1\EXAMPLES\SRC" "%1\TEMPLATE" "%1\EXAMPLES" "%1\DEFAULTS" "%1" // remove objects (except uninstall) @var: F: 5 @xwps: F: @xwps: (FI): @xwps: F: @xwps: F: %5 // close and remove the log file if we got this far // and the executeable is gone @option ABCDE: M: "exists:%1\mesa2.exe" @log (A!M): off @delete (A!M): "%1\uninst.log" // remove the install info @option A: N: "target:%3" @xini (A!MN): * Mesa2 INSTALLATIONPATH // force the "uinstalled with errors" message if we couldn't delete the executeable @errorcount (AM): + // otherwise reset it @errorcount (A!M): * // create the cleanup routine @option A: N: "busy:%1\uinstall.exe" @errorcount (A!M): * @option (A!MN): N: "ask:Remove the Uninstall program after you exit from it?" @write (A!MN): create %1\cleanup.cmd "del uinstall.* 2>NUL\ncd ..\n" @write (A!MN): append %1\cleanup.cmd "echo del %1\cleanup.cmd cleanupx.cmd ^& rd %1 > cleanupx.cmd\n" @write (A!MN): append %1\cleanup.cmd "cleanupx 2> NUL\n" // one last try at the directory @rd A: "%1"