📄 reghelpbds3w.js
字号:
var dVerFull=dFV.split('.');
if ( sVerFull.length > 1 && dVerFull.length > 1 && sVerFull != null && dVerFull != null )
{
var sVerNum = Math.abs (sVerFull[0] + sVerFull[1]);
var dVerNum = Math.abs (dVerFull[0] + dVerFull[1]);
var sVerSku = sVerFull[2]; var dVerSku = dVerFull[2];
var sVerLng = sVerFull[3]; var dVerLng = dVerFull[3];
}
if ( sVerSku != dVerSku )
{
qVer = WSHShell.Popup ( 'You are about to overwrite existing Help with Help from a different edition of the product. Proceed?', 0, mbTitle, 33 );
if ( qVer == 1 )
{
q = true;
xCopy = true;
}
else
{
WSHShell.Popup ( 'Help maintenance operation concluded.', 0, mbTitle, 64 );
WScript.Echo ( 'Help maintenance operation concluded.' );
WSHShell = null; WScript.Quit();
}
}
if ( sVerLng != dVerLng )
{
qVer = WSHShell.Popup ( 'You are about to overwrite existing Help with a different localized version. Proceed?', 0, mbTitle, 33 );
if ( qVer == 1 )
{
q = true;
xCopy = true;
}
else
{
WSHShell.Popup ( 'Help maintenance operation concluded.', 0, mbTitle, 64 );
WScript.Echo ( 'Help maintenance operation concluded.' );
WSHShell = null; WScript.Quit();
}
}
if ( sVerNum > dVerNum )
{
xCopy = true;
}
}
else
{
xCopy = true;
}
break;
default: xCopy = true;
} // end switch
}
else
{
xCopy = true;
}
if ( xCopy == true )
{
destDrive = fo.GetDrive(fo.GetDriveName(fo.GetParentFolderName(df)));
checkDrive ( destDrive, ( fsrc.size * 2 ) - ( fdst.size ) );
try
{
if ( fdst.attributes > 0 ) { fdst.attributes = 0; }
}
catch ( err_attrchange )
{
cpRet = -1;
}
try
{
fo.copyFile ( sf, df, true );
if ( q == true ) { cpRet = 0; } else { cpRet = 1; }
}
catch ( err_copydest )
{
cpRet = -1;
}
}
else { cpRet = -1; }
}
else
{
try
{
if ( !fo.folderExists(fo.GetParentFolderName(df)) )
{
createFoldersFromPath ( df );
}
fo.copyFile ( sf, df, true );
if ( q == true ) { cpRet = 0; } else { cpRet = 1; }
}
catch ( err_copynodest )
{
cpRet = -1;
}
}
}
catch ( err_updatefile )
{
cpRet = -1;
}
}
else
{
cpRet = -1;
}
return cpRet;
}
/*************************************************
check filter data
*/
function checkFilter(fds)
{
fRet = true;
if ( fds.indexOf ( '=' ) == -1
|| fds.indexOf ( ',' ) != -1
|| ( ( fds.substr ( 0, 1 ) != '"' || fds.substr ( 0, 1 ) != '(' )
&& ( fds.substr ( fds.length - 1, 1 ) != '"' || fds.substr ( fds.length - 1, 1 ) != ')' ) )
|| ( fds.substr ( 0, 1 ) == '"' && fds.substr ( fds.length - 1, 1 ) != '"' )
|| ( fds.substr ( 0, 1 ) == '(' && fds.substr ( fds.length - 1, 1 ) != ')' )
|| fds.split('(').length != fds.split(')').length )
{ fRet = false; }
if ( fds.indexOf ( '=' ) != -1 && ( fds.split('=').length-1 ) * 4 != fds.split('"').length-1 )
{ fRet = false; }
return fRet;
}
/*************************************************
check drive readiness and space availability
*/
function checkDrive ( pDrive, spaceReq )
{
if ( !pDrive.IsReady )
{
WSHShell.Popup ( 'Drive ' + progDrive + ' is not available for Help installation. Halting setup.', 0, mbTitle, 16 );
WScript.Echo ( 'Drive ' + progDrive + ' is not available for Help installation. Halting setup.' );
WSHShell = null; WScript.Quit();
}
if ( pDrive.FreeSpace <= spaceReq )
{
WSHShell.Popup ( 'Drive ' + progDrive + ' does not have sufficient space available for Help installation. Halting setup.', 0, mbTitle, 16 );
WScript.Echo ( 'Drive ' + progDrive + ' does not have sufficient space available for Help installation. Halting setup.' );
WSHShell = null; WScript.Quit();
}
return true;
}
/*************************************************
register or remove plugin (rr 0 = remove)
*/
function rPlugin(rr, ns, nsHXT, ns2, ns2HXT, ns2HXA, longOpts)
{
var r = false;
try
{
var oRegSess = new ActiveXObject('HxDs.HxRegisterSession');
oRegSess.CreateTransaction('');
var oRegPlugin = oRegSess.GetRegistrationObject(2);
if ( rr != 0 )
{
oRegPlugin.RegisterHelpPlugIn(ns, nsHXT, ns2, ns2HXT, ns2HXA, longOpts);
}
else
{
oRegPlugin.RemoveHelpPlugIn(ns, nsHXT, ns2, ns2HXT, ns2HXA);
}
oRegSess.CommitTransaction();
oRegPlugin=null;
oRegSess=null;
r = true;
}
catch(err_rplugin)
{
oRegPlugin=null;
oRegSess=null;
r = false;
}
return r;
}
/*************************************************
register or remove namespace (rr 0 = remove)
*/
function rNamespace(rr,ns,colFile,colDesc)
{
var r = false;
try
{
var oRegSess = new ActiveXObject('HxDs.HxRegisterSession');
oRegSess.CreateTransaction('');
var oRegNS = oRegSess.GetRegistrationObject(0);
if ( rr != 0 ) { oRegNS.RegisterNamespace(ns, colFile, colDesc); }
else { oRegNS.RemoveNamespace(ns); }
oRegSess.CommitTransaction();
oRegNS=null;
oRegSess=null;
r = true;
}
catch ( err_rnamespace )
{
oRegNS=null;
oRegSess=null;
r = false;
}
return r;
}
/*************************************************
register or remove files (rr 0 = remove)
*/
function rFile (rr,ns,bn,li,xs,xi)
{
var r = false;
try
{
var oRegSess = new ActiveXObject('HxDs.HxRegisterSession');
oRegSess.CreateTransaction('');
var oRegFiles = oRegSess.GetRegistrationObject(0);
if ( rr != 0 )
{
oRegFiles.RegisterHelpFileSet( ns, bn, li, xs, xi,"","",0,0,0,0);
}
else
{
oRegFiles.RemoveHelpFile( ns, bn, li );
}
oRegSess.CommitTransaction();
oRegFiles=null;
oRegSess=null;
r = true;
}
catch ( err_rfile )
{
oRegFiles=null;
oRegSess=null;
r = false;
}
return r;
}
/*************************************************
register or remove filters (rr 0 = remove)
*/
function rFilter ( rr, ns, filterName, filterData )
{
try
{
var oRegSess = new ActiveXObject('HxDs.HxRegisterSession');
oRegSess.CreateTransaction('');
var oRegFilter = oRegSess.GetRegistrationObject(1);
oRegFilter.SetNamespace(ns);
oRegFilter.SetCollectionFiltersFlag(1);
if ( rr != 0 ) { oRegFilter.RegisterFilter( filterName, filterData ); }
else { oRegFilter.RemoveFilter( filterName ); }
oRegSess.CommitTransaction();
oRegSess=null;
oRegFilter=null;
return true;
}
catch (err_rfilter)
{
oRegFilter=null;
oRegSess=null;
r = false;
}
return r;
}
/*************************************************
create a shortcut to namespace
*/
function createHelpShortcut( ns, scLoc, dxLoc )
{
var scRet = false;
try
{
var sFile = scLoc //+ '.lnk';
if ( fo.fileExists ( sFile ) ) { fo.deleteFile ( sFile, true ); }
var osl = WSHShell.CreateShortcut( sFile );
osl.TargetPath = dxLoc + 'dexplore.exe';
osl.Arguments = ' /helpcol ms-help://' + ns;
osl.WindowStyle = 1;
osl.IconLocation = dxLoc + "dexplore.exe, 0";
osl.Description = ns + ' Help';
osl.WorkingDirectory = dxLoc;
osl.Save();
scRet = true;
}
catch (err_createhelpshortcut)
{
scRet = false;
}
return scRet;
}
/*************************************************
creates folders for file copy operations
*/
function createFoldersFromPath ( fp )
{
cpr = false;
var fpx = fo.GetParentFolderName(fo.GetAbsolutePathName ( fp ));
fps = fpx.split ( '\\' );
var i, cPath=fps[0] + '\\';
for ( i=1; i<fps.length; i++ )
{
cPath += fps[i] + '\\';
if ( !fo.FolderExists ( cPath ) )
try
{
fo.CreateFolder ( cPath );
}
catch ( err_createfoldersfrompath )
{
WSHShell.Popup ( 'ERROR: Failed to create folder:\n' + cPath, 0, WScript.ScriptName, 16 ) ;
WScript.Echo ( 'ERROR: Failed to create folder:\n' + cPath );
WSHShell = '' ; WScript.Quit() ;
}
}
if ( fo.FolderExists ( cPath ) ) { cpr = true; }
return cpr;
}
/**************************************************/
function getVersionAttrib(f)
{
var fx = fo.OpenTextFile ( f, 1, false );
var fxs = '', fv = '', fvStart = -1, fvEnd = -1, tagEnd = -1;
while ( !fx.AtEndOfStream )
{
fxs = trimit(fx.readline());
if ( fxs.indexOf ( 'FileVersion' ) != -1 )
{
fvStart = fxs.indexOf ( 'FileVersion' ) + 11;
tagEnd = fxs.indexOf ( '>', fvStart );
if ( tagEnd == -1 )
{
while ( !fx.AtEndOfStream && tagEnd == -1 )
{
fxs += trimit(fx.readline());
tagEnd = fxs.indexOf ( '>' );
}
}
fv = fxs.substr ( fvStart, tagEnd - fvStart );
break;
}
}
fx.close();
if ( fv != '' && fv.indexOf ('"') != -1 && fv.indexOf ( '=' ) != -1 )
{
fvStart = fv.indexOf ( '"' );
fvEnd = fv.indexOf ( '"', fvStart + 1 );
if ( fvEnd != -1 )
{
fv = trimit(fv.substr ( fvStart + 1, fvEnd - fvStart - 1 ));
}
if ( fv.indexOf ( ' ' ) != -1 || fv.indexOf ( '=' ) != -1 || fv.indexOf ( '"' ) != -1 )
{
fv = '';
}
}
else
{
//no ver info found
fv = '';
}
return fv;
}
/**************************************************/
function trimit( s )
{
//trims leading and trailing spaces, removes any tabs from string
var re = /\t/g; //rem tabs as well
while ( s.charAt ( 0 ) == ' ' ) { s = s.substr ( 1 ) }
while ( s.charAt ( s.length - 1 ) == ' ' ) { s = s.substr ( 0, s.length - 1 ) }
s = s.replace ( re, '' );
return s;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -