// First some functions to use in the installation. var versionMaj = 1; var versionMin = 2; var versionRel = 3; var versionBld = 5; var updateObjectName = "mBED plug-in"; var abortCalled = false; var newSubFailure = false; var vi = new netscape.softupdate.VersionInfo(versionMaj, versionMin, versionRel, versionBld); var su = new netscape.softupdate.SoftwareUpdate( this, updateObjectName ); var err = 0; // Checks OS and version information. function checkSystemEnvironment() { var err = 0; if (navigator.platform != "Win32" && navigator.platform != "Win16" && navigator.platform != "MacPPC" && navigator.platform != "Mac68k") { err = -20; // wrong OS return err; } return err; } // A wrapper for calling the AddSubcomponent() function. function newSub(fName, jarFilePath, tgtVI, tgtFolder, tgtFilePath) { var err = su.AddSubcomponent(fName,tgtVI,jarFilePath,tgtFolder,tgtFilePath,this.force); if (err != 0) newSubFailure = true; } // This prepares the specific files to be installed. function setupFiles(su) { var err = 0; if (su == null) return -1; err = su.StartInstall("/plugins/mBED/", // Package name vi, netscape.softupdate.SoftwareUpdate.FULL_INSTALL); if (err !=0) return err; // Get folders. PluginsFolder = su.GetFolder("Plugins"); if (PluginsFolder == null) return -1; // mBED Plug-in files if (navigator.platform == "Win32") newSub("mBED Plugin","np32mbed.dll",vi,PluginsFolder, "np32mbed.dll"); else if (navigator.platform == "Win16") newSub("mBED Plugin","np16mbed.dll",vi,PluginsFolder, "np16mbed.dll"); else if (navigator.platform == "MacPPC") newSub("mBED Plugin","mBED Plugin PPC",vi,PluginsFolder, "mBED Plugin PPC"); else if (navigator.platform == "Mac68k") newSub("mBED Plugin","mBED Plugin 68K",vi,PluginsFolder, "mBED Plugin 68K"); newSub("mBED Plugin","npMbed.class",vi,PluginsFolder, "npMbed.class"); // If any subcomponent failed, the installation aborts here. if (newSubFailure) abortMe(); return 0; } // Handles catastrophic errors. function abortMe(err) { if (!abortCalled) { su.AbortInstall(); abortCalled = true; } } // End of functions. // MAIN() // ===================== START ACTUAL INSTALLATION ========================= // // Global variable declarations // if (su != null) { err = checkSystemEnvironment(); if (err == 0) { err = setupFiles(su); if (err == 0) { err = su.FinalizeInstall(); // This actually copies all the files. if (err == 0) { navigator.plugins.refresh(true); } else abortMe(err); } else { abortMe(err); } } else { abortMe(err); } }