Class SY_InstallationManifest

Inherits

SY_Constant

Properties

LOCAL cTimeZoneControlFile1$  
LOCAL cTimeZoneControlPath1$="../home/"  
LOCAL cTimeZoneControlFile2$  
LOCAL cTimeZoneControlPath2$="../soa/"  
LOCAL cTimeZoneControlFile3$  
LOCAL cTimeZoneControlPath3$="../home/"  
LOCAL cTimeChangeAdjustment  
LOCAL cFileSystemAdjustment  
LOCAL cDateTimeMask$="%Mz/%Dz/%Y, %Hz:%mz:%sz"  
LOCAL cJulianBase=JUL(1970, 1, 1)  
LOCAL cSecondsPerDay  

Methods

FUNCTION CompareInstallationManifest(modifiedFiles$)  
FUNCTION CompareInstallationManifest(modifiedFiles$, showProgress)  

General utility method. Compares the entire installation manifest and returns any modified files.

ParameterDescription
modifiedFiles$ [output, string] SEP delimited list of modified files - including developer partner info if a record exists in SY_DeveloperManifest.M4T
showProgress [input, boolean] Optional. Default is false. True to update a progress bar. If the calling process has a progress bar initialized, then that progress bar will be updated.
Returns [numeric]
ValueDescription
Modified file count. Zero if no modified files where found.
FUNCTION CompareUpdateFiles(startingPath$, modifiedFiles$)  
FUNCTION CompareUpdateFiles(startingPath$, modifiedFiles$, showProgress)  

General utility method. Recurses through the given startingPath and compares the installed version of the files found there against the installation manifest.

ParameterDescription
startingPath$ [input, string] Path containing the files used to determine which installed files to compare.
modifiedFiles$ [output, string] SEP delimited list of modified files - including developer partner info if a record exists in SY_DeveloperManifest.M4T
showProgress [input, boolean] Optional. Default is false. True to update a progress bar. If the calling process has a progress bar initialized, then that progress bar will be updated.
Returns [numeric]
ValueDescription
Modified file count. Zero if no modified files where found.
FUNCTION CompareUpdateManifest(updateManifest$, currentVersion$, updateFiles$, modifiedFiles$)  
FUNCTION CompareUpdateManifest(updateManifest$, currentVersion$, updateFiles$, modifiedFiles$, showProgress)  

Called during update installation. Compares the files listed on the update manifest that have not yet been installed.

ParameterDescription
updateManifest$ [input, string] Fully qualified path and file name for the update manifest to be checked. Defaults to coSession'PathRoot$+"install\putemp\updatemanifest.xml"
currentVersion$ [input, string] Current system version in the format X.XX.X.X This is used to determine which updates have already been installed. Defaults to current system version.
updateFiles$ [output, string] SEP delimited list of file name + "|" + relative path in the format "../path/". This is the list of files from the update manifest that have not yet been installed.
modifiedFiles$ [output, string] SEP delimited list of modified files - including developer partner info if a record exists in SY_DeveloperManifest.M4T
showProgress [input, boolean] Optional. Default is false. True to update a progress bar. If the calling process has a progress bar initialized, then that progress bar will be updated.
Returns [numeric]
ValueDescription
Modified file count. Zero if no modified files where found.
FUNCTION GenerateManifestFile(sourcePath$, manifestFile$, masVersion$, masBuild$)  

General utility method. Generates a manifest for the files contained in the given sourcePath$.

ParameterDescription
sourcePath$ [input, string] Path containing the update files for which the manifest will be created.
manifestFile$ [input, output string] Name to use for the update manifest. Default name UpdateManifest.xml will be used if none given.
masVersion$ [input, string] Version used in the nodes of the manifest.
masBuild$ [input, string] Build number used in the nodes of the manifest.
Returns [boolean]
ValueDescription
retSUCCESS(1) The update manifest was created successfully
retFAILURE(0) An exception occurred while creating the update manifest.
FUNCTION GetInstalledFileInfo(fileName$, filePath$, installedFileInfo$)  

Gets the modified date/time and file size for the given file in the given relative path.

ParameterDescription
fileName$ [input, string] Name of the file requested.
filePath$ [input, string] Relative path for the file in the format "../path/" - this will be converted to the installation path.
installedFileInfo$ [output, string] Modfied date and size in bytes in the format: fileDateTime$+SEP+fileSize$+SEP
Returns [boolean]
ValueDescription
retSUCCESS(1) File was found and information is retrieved.
retFAILURE(0) File was not found.
FUNCTION GetMissingFiles(sourcePath$, missingFiles$)  
FUNCTION GetMissingFiles(sourcePath$, missingFiles$, showProgress)  

General utility method. Returns a list of files found in sourcePath$ that are not found in the installation manifest

ParameterDescription
sourcePath$ [input, string] Path to start search from.
missingFiles$ [output, string] SEP delimited list of missing files.
showProgress [input, boolean] Optional. Default is false. True to update a progress bar. If the calling process has a progress bar initialized, then that progress bar will be updated.
Returns [numeric]
ValueDescription
Missing file count. Zero if no missing files where found.
FUNCTION GetMissingManifestFiles(missingFiles$)  
FUNCTION GetMissingManifestFiles(missingFiles$, showProgress)  

General utility method. Returns a list of files not found that are listed in the installation manifest.

ParameterDescription
missingFiles$ [output, string] SEP delimited list of missing files.
showProgress [input, boolean] Optional. Default is false. True to update a progress bar. If the calling process has a progress bar initialized, then that progress bar will be updated.
Returns [numeric]
ValueDescription
Missing file count. Zero if no missing files where found.
FUNCTION InstallAuxiliaryManifest(auxiliaryManifest$)  

Updates the InstallationX.XX.xml manifest with all the file nodes contained in the provided auxiliary manifest. This method is used to combine the contents of the Payroll 2.0 manifest with the InstallationX.XX manifest, which is necessary when Payroll is installed from the Sage 100 DVD, which does not employ the "update" logic which the stand-alone Payroll 2.0 installation does.

ParameterDescription
auxiliaryManifest$ [input, string] Full path and file name of the auxiliary manifest.

$returns [bool]

ValueDescription
retSUCCESS If the manifest was installed successfully, otherwise retFAILURE.
FUNCTION IsFileModified(fileName$, filePath$, dateTimeDiff, sizeDiff)  
FUNCTION IsFileModified(fileName$, filePath$, dateTimeDiff, sizeDiff, oXmlDOM)  

Compares the given installed file to the installation manifest.

ParameterDescription
fileName$ [input, string] File name to compare.
filePath$ [input, string] Relative path for the file to compare in the format "../path/"
dateTimeDiff [output, numeric] Date/Time difference in seconds.
sizeDiff [output, numeric] Size difference in bytes.
oXmlDOM [input, object] Optional. Handle to a MSXML2.DOMDocument.6.0 object. If not supplied, and instance will be created and dropped by this method.
Returns [boolean]
ValueDescription
isTRUE(1) True if the date or size of the file does not match the installation manifest.
isFALSE(0) False if the file matches the installation manifest.
FUNCTION UpdateInstallationManifest(fileName$, filePath$)  
FUNCTION UpdateInstallationManifest(fileName$, filePath$, updateManifest$)  

Called during update installation. Updates the installation manifest for the given file and path Records the version and build (only) from the specified update manifest. The date and size are recorded from the physical file. If an updateManifest$ is specified, then the file and path must exist in the specified update manifest. If the updateManifest$ is omitted, then the installation manifest is used for the version and build, and the file must exist in the installation manifest. I.e. This method can only add new files to the installation manifest that are included in an update manifest.

ParameterDescription
fileName$ [input, string] File to update manifest information for.
filePath$ [input, string] Relative path for the file to update in the format "../path/"
updateManifest$ [input, string] Optional. Fully qualified path and file name for the update manifest to be used for updated file revision info.
Returns [boolean]
ValueDescription
retSUCCESS(1) The installation manifest was updated successfully.
retFAILURE(0) Unable to save the installation manifest changes.
FUNCTION UpdateManifestFile(sourcePath$, manifestFile$, masVersion$, masBuild$, adminPass$, showProgress)  

General utility method. Updates a manifest for the files contained in the given sourcePath$. Existing files will have the existing node updated, while new nodes will be appended to the end of the manifest.

ParameterDescription
sourcePath$ [input, string] Path containing the update files for which the manifest will be created. Defaults to the MAS90 root.
manifestFile$ [input, output string] Name to use for the manifest. Defaults to the installation manifest (password required).
masVersion$ [input, string] Version used in the nodes of the manifest. Defaults to the current system version.
masBuild$ [input, string] Build number used in the nodes of the manifest. Defaults to the current system build number.
adminPass$ [input, string] Added security to keep installation manifest from being updated without authorization.
showProgress [input, boolean] Optional. Default is false. True to update a progress bar. If the calling process has a progress bar initialized, then that progress bar will be updated.
Returns [boolean]
ValueDescription
retSUCCESS(1) The update manifest was created successfully
retFAILURE(0) An exception occurred while updating the update manifest.

Properties inherited from: SY_Constant

retFAILURE, retSUCCESS, retNEW, retWARNING, retCANCEL, retYES, retNO, msgYES$, msgNO$, msgCANCEL$, msgOK$, msgRETRY$, msgABORT$, msgIGNORE$, msgNOTONFILE$, msgTIMEOUT$, msgDISABLE, msgACTIVE, msgLinkHELP$, msgLinkMSG$, isFALSE, isTRUE, isYES$, isNO$, isBUSY$, edtNONE, edtEXISTS, edtNEW, ctlDISABLE, ctlENABLE, ctlSHOW, ctlHIDE, ctlLOCK, ctlUNLOCK, ctlLOCKORDISABLE, ctlUNLOCKORENABLE, popHIDE, popDISABLE, popSHOW, popSHOWCHECKED, grdMODEVIEW, grdMODEMAINT, grdMODEADD, filCREATE, filLOCK, filCREATELOCK, filGLOBAL, filCREATEGLOBAL, filLOCKGLOBAL, filCREATELOCKGLOBAL, filCHANNEL, filRAW, filPURGE, filLOAD, filINPUT, filNOOBJECT, filPVX, filREFRESH, filPVX4$, filPVX5$, pthCOMPANY$, pthOTHERCOMPANY$, pthPRCOMPANY$, pthOTHERPRCOMPANY$, pthSYSTEM$, pthUSER$, pthSOA$, pthHOME$, pthROOT$, pthDICTIONARY$, pthTEXTOUT$, pthLOCK$, pthLOCKSYS$, pthPREFIX$, pthARCHIVE$, pthLOGFILES$, folderCOMMONPROGRAMFILES, folderCOMMONAPPLICATIONDATA, errOBJECT, errSYSTEMLOCK, errCONTINUE, errEMBEDDEDIO, errSYSLOCK, extSQLCREATETABLE$, extSQLALLOWNULLDATES$, dbALL$, dbNONE$, dateTOSTRINGFORMAT$, dateLONGMASK$, dateSHORTFMT, dateLONGFMT, dateYEARFIRST, dateMONTHFIRST, dateDAYFIRST, timeMINUTESMASK$, timeMINUTES24MASK$, timeSECONDSMASK$, timeSECONDS24MASK$, idxPRIMARY$, idxBATCH$, idxDISPLAY$, dirFIRST, dirLAST, dirNEXT, dirPREVIOUS, typALPHANUM, typZEROFILL, typCHARNUM, typMASTERNUM, typALPHANUMNF, typMASTERNUMC, typALPHA$, typNUMBERS$, typALPHANUM$, typALPHANUMNF$, typCHARNUM$, typMASTERNUM$, typMASTERNUMCLEN, modTASKOTFDISALLOW$, logALLACTIVITY$, logACTIVITY$, logERROR$, logACTNEWCUSTOMER$, logACTDATASYNC$, logACTDATAIMPORT$, logACTOPTIONCHANGED$, logACTPROGRAMLAUNCH$, logDFDM$, logSECURITY$, logTASKSCHEDULER$, logWEBERROR$, logVISUALINTEGRATOR$, logEntryIDLength, chkOFF$, chkON$, chkGRAYED$, secVIEWONLY, secCREATEONLY, secMODIFYONLY, secCREATEMODIFY, secDELETEONLY, secCREATEDELETE, secMODIFYDELETE, secFULLACCESS, secDEFAULTUSER$, secDEFAULTROLE$, regHKEY_CLASSES_ROOT, regHKEY_CURRENT_USER, regHKEY_LOCAL_MACHINE, regHKEY_USERS, regHKEY_CURRENT_CONFIG, regODBC_PATH$, regMAS_PATH$, E3_MYHANDLE, E3_TASK, E3_QUIT, E3_COCHANGE, E3_DATECHANGE, E3_USERCHANGE, E3_SRVRPATH, E3_HELPFILE, E3_TECHSUPPORT, E3_QUERYTOQUIT, E3_SUPERVISOR, E3_CUSTOMIZE, E3_SWITCHMODULE, E3_DISABLEWIN, E3_CURSOR, E3_USERID, E3_PRIVATETASK, E3_CHAT, E3_BROADCAST, E3_RELOAD, E3_PASSTHROUGH, E3_EXECUTE, E3_EXPCOCHANGE, E3_EXPTASK, E3_EXPLAUNCH, E3_SILENT, E3_DIRECT, E3_NODELIST, E3_OCXITEM, E3_MODULEID, E3_CUSTFAV, E3_HOMEPAGE, E3_MINIMIZE, E3_UNDOCKED, E3_DOCKED, E3_PUBLICTASK, E3_LAUNCHURL, E3_BTNCHANGE, E3_STDBTNRELOAD, E3_MYBUSINESS, E3_REGLOADED, E3_LOADED, E3_V4TASK, E3_PUBMODIFY, E3_TASKRELOAD, E3_SETAUTOHIDE, E3_COCHANGE2, E3_TASK_NC, E3_V4TASK_NC, E3_TASK_ALTC, E3_V4TASK_ALTC, E3_PASSWORD, E3_LAUNCHVIEW, E3_LAUNCHBIETASK, E3_CLEANUPBIE, E3_STARTVIEW, E3_BIE_ADMIN, E3_HELPPATH, E3_CUSTOMERID, E3_MASVERSION, E3_LAUNCHEMBEDDED, E3_LAUNCHERMENU, E3_APP_POINTSIZE, E3_LAUNCHERVERSION, E3_DISABLE, E3_ENABLE, E3_SHOW, E3_HIDE, E3_REFRESH, E3_LIBMASTER, WM_COPY, wtsINITIALPROGRAM, wtsAPPLICATIONNAME, wtsWORKINGDIRECTORY, wtsOEMID, wtsSESSIONID, wtsUSERNAME, wtsWINSTATIONNAME, wtsDOMAINNAME, wtsCONNECTSTATE, wtsCLIENTBUILDNUMBER, wtsCLIENTNAME, wtsCLIENTDIRECTORY, wtsCLIENTPRODUCTID, wtsCLIENTHARDWAREID, wtsCLIENTADDRESS, wtsCLIENTDISPLAY, wtsCLIENTPROTOCOLTYPE, thmNORMAL, thmMETAL, thmOLIVE, rptREPORTTYPESTD, rptREPORTTYPELABEL, rptREPORTTYPEMULTCOL, rptISTRUE, rptISFALSE, rptISDEFAULT, rptPORTRAIT, rptLANDSCAPE, rptASCENDING, rptDESCENDING, rptRIGHTALIGN, rptLEFTALIGN, rptHORCENTERALIGN, rptLSSINGLELINE, rptSTSUM, rptSTAVERAGE, rptSTCOUNT, rptDFLTHSPACING, rptDFLTVSPACING, rptDFLTFONTSIZE, rptDFLTLEFT, rptDFLTTOP, rptTWIPSPERCHARW, rptTWIPSPERCHARH, rptSVTREPORTTITLE, rptEDTDISKFILE, rptGCANYVALUE, rptGCDAILY, rptCRDATEFIELD, rptCRDATETIMEFIELD, crEFTCrystalReport, crEFTRichText, crEFTWordForWindows, crEFTExcel, crEFTPortableDocFormat, crEFTHTML32, crEFTHTML40, crEFTExcelRecord, crEFTText, crEFTCharacterSeparatedValues, crEFTTabSeparatedText, crEFTEditableRTF, crEFTXml, crEFTRPTR, crEFTExcelWorkbook, cContextKeyLen1, cContextKeyLen2, cContextKeyLen3, adCmdText, adCmdStoredProc, adClipString, adExecuteNoRecords, adVarChar, adInteger, adParamInput, adParamOutput, adParamInputOutput, adParamReturnValue, adTextNoRecords, adOpenForwardOnly, adOpenStatic, adLockReadOnly, adUseServer, adUseClient, dbTMP$, dbTEMPDB$, dbSYSDB$, dbPVXDDF, dbPVXDB, dbMYSQL, dbADO, dbSQL, LastErrorMsg$, LastErrorNum$, SageCloudAppDesc$, IolNomads$

Methods inherited from: SY_Constant

GetNOMADSIolist$(), MaskString(), RawString(), ClassValidateEMailAddress(), dateTODAY$(), Element$(), fmtMODCODE$(), fmtMODPREFIX$(), PERFORM FunctionBreak(), GetExceptionMsg$(), GetFileName(), GetJobTitles(), GetPrinterProps(), GetRecordCount(), isALPHA(), isDATE(), isNUMERIC(), MsgPath$(), ParseString(), ParseTagField(), Position(), QUO$(), ValidateFormatType(), ZeroFill$()