mirror of
https://git.openafs.org/openafs.git
synced 2025-01-18 06:50:12 +00:00
STABLE10-windows-updates-20010823
add windows patches to stable branch
This commit is contained in:
parent
7acd79e238
commit
0e87cadc58
@ -307,9 +307,9 @@ clean: start
|
||||
$(CD) $(OBJ)\WINNT\install\Win9x
|
||||
nmake /nologo /f NTMakefile clean
|
||||
$(CD) ..\..\..\..
|
||||
.\src\rmbat $(DESTDIR)\include\*.* $(DESTDIR)\include\afs\*.* $(DESTDIR)\include\WINNT\*.* $(DESTDIR)\include\rx\*.*
|
||||
.\src\rmbat $(DESTDIR)\LIB\*.LIB $(DESTDIR)\LIB\*.DLL $(DESTDIR)\LIB\AFS\*.LIB
|
||||
.\src\RMBAT $(DESTDIR)\root.client\usr\vice\etc\*.*
|
||||
$(DESTDIR)\BIN\rmbat $(DESTDIR)\include\*.* $(DESTDIR)\include\afs\*.* $(DESTDIR)\include\WINNT\*.* $(DESTDIR)\include\rx\*.*
|
||||
$(DESTDIR)\BIN\rmbat $(DESTDIR)\LIB\*.LIB $(DESTDIR)\LIB\*.DLL $(DESTDIR)\LIB\AFS\*.LIB
|
||||
$(DESTDIR)\BIN\rmbat $(DESTDIR)\root.client\usr\vice\etc\*.*
|
||||
$(CD) $(OBJ)\config
|
||||
nmake /nologo /f ntmakefile clean_version
|
||||
$(CD) ..\..
|
||||
|
@ -3,7 +3,7 @@ All Rights Reserved.
|
||||
|
||||
This software has been released under the terms of the IBM Public
|
||||
License. For details, see the LICENSE file in the top-level source
|
||||
directory or online at http://www.openafs.org/dl/license10.html
|
||||
directory or on-line at http://www.openafs.org/dl/license10.html
|
||||
|
||||
Building OpenAFS on Windows NT
|
||||
------------------------------
|
||||
@ -53,9 +53,17 @@ C. Optional: Install Installshield 5.x
|
||||
2. build of the product plus an installer package
|
||||
|
||||
In order to do the build that includes the installer package, a
|
||||
copy of InstallShield 5.x must be installed. NOTE: InstallShield
|
||||
copy of Installshield 5.x must be installed. NOTE: Installshield
|
||||
versions 6 and higher WILL NOT WORK.
|
||||
|
||||
Optional DLL's missing for Install Script
|
||||
Two Microsoft DLL's must be included at DEST\WinInstall\Config\.
|
||||
SHLWAPI.DLL
|
||||
WININET.DLL
|
||||
|
||||
These files are only used for the Install, they will not be left
|
||||
on the target machine.
|
||||
|
||||
D. Optional: Install flex and bison
|
||||
|
||||
There are two files in the source tree that are processed with lex
|
||||
@ -94,7 +102,7 @@ E. Configure the OpenAFS build environment
|
||||
set MSVCDIR=<path to vc directory of MS Visual C++>
|
||||
Ex: set MSVCDIR=c:\progra~1\DevStudio\vc
|
||||
|
||||
This is the path to the compiler directory of the Microsot Visual
|
||||
This is the path to the compiler directory of the Microsoft Visual
|
||||
C++ installation.
|
||||
|
||||
set AFSDEV_INCLUDE=<default include directories>
|
||||
@ -122,12 +130,12 @@ E. Configure the OpenAFS build environment
|
||||
This is the root directory of OpenAFS, which is the parent
|
||||
directory of the src directory.
|
||||
|
||||
set IS5ROOT=<root directory of the InstallShield5 program files>
|
||||
set IS5ROOT=<root directory of the Installshield5 program files>
|
||||
Ex: set IS5ROOT=d:\progra~1\instal~1\instal~1.1pr
|
||||
|
||||
This is the path to the InstallShield5 program directory. You
|
||||
should only define this if you have InstallShield installed on
|
||||
your computer and want to create the install package as part of
|
||||
This is the path to the Installshield5 program directory. You
|
||||
should only define this if you have Installshield installed on
|
||||
your computer and want to create the install script as part of
|
||||
the build.
|
||||
|
||||
set BISON_SIMPLE=<path to bison.simple>
|
||||
@ -147,7 +155,40 @@ E. Configure the OpenAFS build environment
|
||||
As can be seen in the examples above, all paths in ntbuild.bat must
|
||||
be in the old MSDOS 8.3 format.
|
||||
|
||||
F. Begin the build
|
||||
F. Set version and installation options
|
||||
|
||||
Modify .\src\config\NTMakefile.i386_nt40
|
||||
AFSPRODUCT_VERSION - Product version
|
||||
CELLNAME_DEFAULT - The default AFS cell name
|
||||
CELLSERVDB_INSTALL - The default name for the CellServDB included in the install script
|
||||
CELLSERVDB_WEB - The default web address to obtain CellServDB
|
||||
|
||||
For Example:
|
||||
|
||||
.\src\config\NTMakefile.i386_nt40
|
||||
|
||||
AFSPRODUCT_VERSION=1.1.1a
|
||||
CELLNAME_DEFAULT=openafs.org
|
||||
CELLSERVDB_INSTALL=CellServDB.GrandCentral
|
||||
CELLSERVDB_WEB=http://grand.central.org/dl/cellservdb/CellServDB
|
||||
|
||||
NOTE: If CELLNAME_DEFAULT has a '.' in cell name, then the name is assumed to be
|
||||
a valid cell name and when the user installs AFS the AFS Control Center
|
||||
will default to NOT installed!
|
||||
|
||||
Version level may be specified in different formats, for example the following
|
||||
forms all have the same version level; however will be displayed differently:
|
||||
|
||||
AFSPRODUCT_VERSION=1.1.1a
|
||||
AFSPRODUCT_VERSION=1.1.1 a
|
||||
AFSPRODUCT_VERSION=1.1.1.1
|
||||
AFSPRODUCT_VERSION=1.1.101
|
||||
|
||||
Add CellServDB file to install area.
|
||||
For the previous example you would add file:
|
||||
DEST\Winistall\Config\CellServDB.GrandCentral
|
||||
|
||||
G. Begin the build
|
||||
|
||||
1. Make sure you are running the default NT command shell, cmd.exe.
|
||||
Other shells may work, but many do not.
|
||||
@ -167,7 +208,7 @@ F. Begin the build
|
||||
You only need to do this once.
|
||||
|
||||
4. Begin the build. You can choose to build just the product bits,
|
||||
or, if InstallShield is installed, the product bits and the
|
||||
or, if Installshield is installed, the product bits and the
|
||||
install package.
|
||||
|
||||
To build just the product bits, run:
|
||||
|
@ -124,6 +124,34 @@ or nmake -f ntmake9x clean
|
||||
VC6RedistSetup_enu.exe
|
||||
This is located at:
|
||||
http://support.microsoft.com/support/kb/articles/Q259/4/03.ASP
|
||||
Two Microsoft DLL's must be included at DEST\WinInstall\Config\.
|
||||
SHLWAPI.DLL
|
||||
WININET.DLL
|
||||
These DLL's will not be left on the target machine, there are only
|
||||
used for installation and removed after installation is complete.
|
||||
|
||||
6) Required changes to configuration file .\src\config\NTMakefile.i386_win95
|
||||
|
||||
AFSPRODUCT_VERSION - Product version
|
||||
CELLNAME_DEFAULT - The default AFS cell name
|
||||
CELLSERVDB_INSTALL - The default name for the CellServDB included in the install script
|
||||
CELLSERVDB_WEB - The default web address to obtain CellServDB
|
||||
|
||||
For Example:
|
||||
|
||||
.\src\config\NTMakefile.i386_win95
|
||||
AFSPRODUCT_VERSION=1.1.1a
|
||||
CELLNAME_DEFAULT=openafs.org
|
||||
CELLSERVDB_INSTALL=CellServDB.GrandCentral
|
||||
CELLSERVDB_WEB=http://grand.central.org/dl/cellservdb/CellServDB
|
||||
|
||||
Version level may be specified in different formats, for example the following
|
||||
forms all have the same version level; however will be displayed differently:
|
||||
|
||||
AFSPRODUCT_VERSION=1.1.1a
|
||||
AFSPRODUCT_VERSION=1.1.1 a
|
||||
AFSPRODUCT_VERSION=1.1.1.1
|
||||
AFSPRODUCT_VERSION=1.1.101
|
||||
|
||||
6) Installation
|
||||
|
||||
@ -163,3 +191,5 @@ or nmake -f ntmake9x clean
|
||||
5. Reboot the target machine.
|
||||
6. You can now start the client by executing the program WinAfsLoad.exe
|
||||
from the install directory.
|
||||
|
||||
|
||||
|
409
src/WINNT/afs_setup_utils/GetWebDll/GetWebDll.cpp
Normal file
409
src/WINNT/afs_setup_utils/GetWebDll/GetWebDll.cpp
Normal file
@ -0,0 +1,409 @@
|
||||
// GetWebDll.cpp : Defines the initialization routines for the DLL.
|
||||
//
|
||||
|
||||
#include "stdafx.h"
|
||||
#include "GetWebDll.h"
|
||||
#include "getwebdllfun.h"
|
||||
|
||||
#ifdef _DEBUG
|
||||
#define new DEBUG_NEW
|
||||
#undef THIS_FILE
|
||||
static char THIS_FILE[] = __FILE__;
|
||||
#endif
|
||||
|
||||
//
|
||||
// Note!
|
||||
//
|
||||
// If this DLL is dynamically linked against the MFC
|
||||
// DLLs, any functions exported from this DLL which
|
||||
// call into MFC must have the AFX_MANAGE_STATE macro
|
||||
// added at the very beginning of the function.
|
||||
//
|
||||
// For example:
|
||||
//
|
||||
// extern "C" BOOL PASCAL EXPORT ExportedFunction()
|
||||
// {
|
||||
// AFX_MANAGE_STATE(AfxGetStaticModuleState());
|
||||
// // normal function body here
|
||||
// }
|
||||
//
|
||||
// It is very important that this macro appear in each
|
||||
// function, prior to any calls into MFC. This means that
|
||||
// it must appear as the first statement within the
|
||||
// function, even before any object variable declarations
|
||||
// as their constructors may generate calls into the MFC
|
||||
// DLL.
|
||||
//
|
||||
// Please see MFC Technical Notes 33 and 58 for additional
|
||||
// details.
|
||||
//
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CGetWebDllApp
|
||||
|
||||
BEGIN_MESSAGE_MAP(CGetWebDllApp, CWinApp)
|
||||
//{{AFX_MSG_MAP(CGetWebDllApp)
|
||||
// NOTE - the ClassWizard will add and remove mapping macros here.
|
||||
// DO NOT EDIT what you see in these blocks of generated code!
|
||||
//}}AFX_MSG_MAP
|
||||
END_MESSAGE_MAP()
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CGetWebDllApp construction
|
||||
|
||||
CGetWebDllApp::CGetWebDllApp()
|
||||
{
|
||||
// TODO: add construction code here,
|
||||
// Place all significant initialization in InitInstance
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// The one and only CGetWebDllApp object
|
||||
|
||||
CGetWebDllApp theApp;
|
||||
|
||||
|
||||
LPCTSTR pszURL = NULL;
|
||||
BOOL bStripMode = FALSE;
|
||||
BOOL bProgressMode = FALSE;
|
||||
DWORD dwAccessType = PRE_CONFIG_INTERNET_ACCESS;
|
||||
|
||||
DWORD dwHttpRequestFlags =
|
||||
INTERNET_FLAG_EXISTING_CONNECT | INTERNET_FLAG_NO_AUTO_REDIRECT;
|
||||
//
|
||||
//GET /updateCellServDB.jsp?type=bunk HTTP/1.1
|
||||
//Accept: */*
|
||||
//Accept -Language: en -us
|
||||
//Accept -Encoding: gzip , deflate
|
||||
//User-Agent: ufilerNativeClient/1.0 (1.0; Windows NT)
|
||||
//Host: 192.168.0.1
|
||||
//Connection: Keep -Alive
|
||||
|
||||
const TCHAR szVersion[] =
|
||||
_T("HTTP/1.1");
|
||||
|
||||
const TCHAR szHeaders[] =
|
||||
_T("\
|
||||
Accept: */*\r\n\
|
||||
Accept -Language: en -us\r\n\
|
||||
Accept -Encoding: gzip , deflate\r\n\
|
||||
User-Agent: ufilerNativeClient/1.0 (1.0; Windows NT)\r\n\
|
||||
Host: 192.168.0.1\r\n\
|
||||
Connection: Keep -Alive\r\n");
|
||||
|
||||
CTearSession::CTearSession(LPCTSTR pszAppName, int nMethod)
|
||||
: CInternetSession(pszAppName, 1, nMethod)
|
||||
{
|
||||
}
|
||||
|
||||
void CTearSession::OnStatusCallback(DWORD /* dwContext */, DWORD dwInternetStatus,
|
||||
LPVOID /* lpvStatusInfomration */, DWORD /* dwStatusInformationLen */)
|
||||
{
|
||||
if (!bProgressMode)
|
||||
return;
|
||||
|
||||
if (dwInternetStatus != INTERNET_STATUS_CONNECTED_TO_SERVER)
|
||||
AfxMessageBox("Connection Not Made",MB_ICONERROR | MB_OK);
|
||||
return;
|
||||
}
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CTearException -- used if something goes wrong for us
|
||||
|
||||
// TEAR will throw its own exception type to handle problems it might
|
||||
// encounter while fulfilling the user's request.
|
||||
|
||||
IMPLEMENT_DYNCREATE(CTearException, CException)
|
||||
|
||||
CTearException::CTearException(int nCode)
|
||||
: m_nErrorCode(nCode)
|
||||
{
|
||||
}
|
||||
|
||||
void ThrowTearException(int nCode)
|
||||
{
|
||||
CTearException* pEx = new CTearException(nCode);
|
||||
throw pEx;
|
||||
}
|
||||
|
||||
// StripTags() rips through a buffer and removes HTML tags from it.
|
||||
// The function uses a static variable to remember its state in case
|
||||
// a HTML tag spans a buffer boundary.
|
||||
|
||||
void StripTags(LPTSTR pszBuffer)
|
||||
{
|
||||
static BOOL bInTag = FALSE;
|
||||
LPTSTR pszSource = pszBuffer;
|
||||
LPTSTR pszDest = pszBuffer;
|
||||
|
||||
while (*pszSource != '\0')
|
||||
{
|
||||
if (bInTag)
|
||||
{
|
||||
if (*pszSource == '>')
|
||||
bInTag = FALSE;
|
||||
pszSource++;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (*pszSource == '<')
|
||||
bInTag = TRUE;
|
||||
else
|
||||
{
|
||||
*pszDest = *pszSource;
|
||||
pszDest++;
|
||||
}
|
||||
pszSource++;
|
||||
}
|
||||
}
|
||||
*pszDest = '\0';
|
||||
}
|
||||
|
||||
|
||||
extern "C"
|
||||
__declspec(dllexport) INT GetWebPage(LPSTR lpErrMsg,LPSTR lpFile,LPSTR lpCmdLine)
|
||||
{
|
||||
CString emsg;
|
||||
// emsg.Format("p1=[%s],p2=[%s]",lpFile,lpCmdLine);
|
||||
// AfxMessageBox(emsg,MB_ICONERROR | MB_OK);
|
||||
if ((strlen(lpCmdLine)==0) || (strlen(lpFile)==0))
|
||||
{
|
||||
emsg="Parameter Error";
|
||||
return 1;
|
||||
}
|
||||
|
||||
int nRetCode = 0;
|
||||
|
||||
CTearSession session(_T("TEAR - MFC Sample App"), dwAccessType);
|
||||
CHttpConnection* pServer = NULL;
|
||||
CHttpFile* pFile = NULL;
|
||||
char *szParm=strstr(lpCmdLine,"?");
|
||||
try
|
||||
{
|
||||
// check to see if this is a reasonable URL
|
||||
CFile ofile(lpFile,CFile::modeCreate|CFile::modeWrite);
|
||||
|
||||
CString strServerName;
|
||||
CString strObject;
|
||||
INTERNET_PORT nPort;
|
||||
DWORD dwServiceType;
|
||||
|
||||
if (!AfxParseURL(lpCmdLine, dwServiceType, strServerName, strObject, nPort) ||
|
||||
dwServiceType != INTERNET_SERVICE_HTTP)
|
||||
{
|
||||
emsg="Error: can only use URLs beginning with http://";
|
||||
ThrowTearException(1);
|
||||
}
|
||||
|
||||
if (bProgressMode)
|
||||
{
|
||||
VERIFY(session.EnableStatusCallback(TRUE));
|
||||
}
|
||||
|
||||
pServer = session.GetHttpConnection(strServerName, nPort);
|
||||
pFile = pServer->OpenRequest(
|
||||
CHttpConnection::HTTP_VERB_GET,
|
||||
strObject, //updateCellServDB.jsp
|
||||
NULL, // URL of document
|
||||
1, // context
|
||||
NULL,
|
||||
szVersion,
|
||||
dwHttpRequestFlags);
|
||||
pFile->AddRequestHeaders(szHeaders);
|
||||
pFile->SendRequest();
|
||||
|
||||
DWORD dwRet;
|
||||
pFile->QueryInfoStatusCode(dwRet);
|
||||
|
||||
// if access was denied, prompt the user for the password
|
||||
|
||||
if (dwRet == HTTP_STATUS_DENIED)
|
||||
{
|
||||
DWORD dwPrompt;
|
||||
dwPrompt = pFile->ErrorDlg(NULL, ERROR_INTERNET_INCORRECT_PASSWORD,
|
||||
FLAGS_ERROR_UI_FLAGS_GENERATE_DATA | FLAGS_ERROR_UI_FLAGS_CHANGE_OPTIONS, NULL);
|
||||
|
||||
// if the user cancelled the dialog, bail out
|
||||
|
||||
if (dwPrompt != ERROR_INTERNET_FORCE_RETRY)
|
||||
{
|
||||
emsg="Access denied: Invalid password";
|
||||
ThrowTearException(1);
|
||||
}
|
||||
|
||||
pFile->SendRequest();
|
||||
pFile->QueryInfoStatusCode(dwRet);
|
||||
}
|
||||
|
||||
CString strNewLocation;
|
||||
pFile->QueryInfo(HTTP_QUERY_RAW_HEADERS_CRLF, strNewLocation);
|
||||
|
||||
// were we redirected?
|
||||
// these response status codes come from WININET.H
|
||||
|
||||
if (dwRet == HTTP_STATUS_MOVED ||
|
||||
dwRet == HTTP_STATUS_REDIRECT ||
|
||||
dwRet == HTTP_STATUS_REDIRECT_METHOD)
|
||||
{
|
||||
CString strNewLocation;
|
||||
pFile->QueryInfo(HTTP_QUERY_RAW_HEADERS_CRLF, strNewLocation);
|
||||
|
||||
int nPlace = strNewLocation.Find(_T("Location: "));
|
||||
if (nPlace == -1)
|
||||
{
|
||||
emsg="Error: Site redirects with no new location";
|
||||
ThrowTearException(2);
|
||||
}
|
||||
|
||||
strNewLocation = strNewLocation.Mid(nPlace + 10);
|
||||
nPlace = strNewLocation.Find('\n');
|
||||
if (nPlace > 0)
|
||||
strNewLocation = strNewLocation.Left(nPlace);
|
||||
|
||||
// close up the redirected site
|
||||
|
||||
pFile->Close();
|
||||
delete pFile;
|
||||
pServer->Close();
|
||||
delete pServer;
|
||||
|
||||
if (bProgressMode)
|
||||
{
|
||||
emsg.Format("Caution: redirected to %s",(LPCTSTR) strNewLocation);
|
||||
}
|
||||
|
||||
// figure out what the old place was
|
||||
if (!AfxParseURL(strNewLocation, dwServiceType, strServerName, strObject, nPort))
|
||||
{
|
||||
emsg="Error: the redirected URL could not be parsed.";
|
||||
ThrowTearException(2);
|
||||
}
|
||||
|
||||
if (dwServiceType != INTERNET_SERVICE_HTTP)
|
||||
{
|
||||
emsg="Error: the redirected URL does not reference a HTTP resource.";
|
||||
ThrowTearException(2);
|
||||
}
|
||||
|
||||
// try again at the new location
|
||||
pServer = session.GetHttpConnection(strServerName, nPort);
|
||||
pFile = pServer->OpenRequest(CHttpConnection::HTTP_VERB_GET,
|
||||
strObject, NULL, 1, NULL, NULL, dwHttpRequestFlags);
|
||||
pFile->AddRequestHeaders(szHeaders);
|
||||
pFile->SendRequest();
|
||||
|
||||
pFile->QueryInfoStatusCode(dwRet);
|
||||
if (dwRet != HTTP_STATUS_OK)
|
||||
{
|
||||
emsg.Format("Error: Got status code %d",dwRet);
|
||||
ThrowTearException(2);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
TCHAR sz[1024];
|
||||
while (pFile->ReadString(sz, 1023))
|
||||
{
|
||||
if (bStripMode)
|
||||
StripTags(sz);
|
||||
ofile.Write(sz,strlen(sz));
|
||||
}
|
||||
|
||||
pFile->Close();
|
||||
pServer->Close();
|
||||
ofile.Close();
|
||||
}
|
||||
catch (CInternetException* pEx)
|
||||
{
|
||||
// catch errors from WinINet
|
||||
|
||||
TCHAR szErr[1024];
|
||||
pEx->GetErrorMessage(szErr, 1024);
|
||||
|
||||
CString emsg;
|
||||
emsg.Format("Error: (%s)",szErr);
|
||||
nRetCode = 2;
|
||||
pEx->Delete();
|
||||
}
|
||||
catch (CFileException* pEx)
|
||||
{
|
||||
TCHAR szErr[1024];
|
||||
pEx->GetErrorMessage(szErr, 1024);
|
||||
|
||||
emsg.Format("File Error: (%s)",szErr);
|
||||
nRetCode = 2;
|
||||
pEx->Delete();
|
||||
}
|
||||
catch (CTearException* pEx)
|
||||
{
|
||||
// catch things wrong with parameters, etc
|
||||
|
||||
nRetCode = pEx->m_nErrorCode;
|
||||
pEx->Delete();
|
||||
}
|
||||
|
||||
if (pFile != NULL)
|
||||
delete pFile;
|
||||
if (pServer != NULL)
|
||||
delete pServer;
|
||||
session.Close();
|
||||
int len=strlen(lpErrMsg);
|
||||
strncpy(lpErrMsg,emsg,len);
|
||||
lpErrMsg[len]=0;
|
||||
return nRetCode;
|
||||
}
|
||||
|
||||
extern "C"
|
||||
__declspec(dllexport) INT GetUserLogon(LPSTR lpUserName)
|
||||
{
|
||||
int nRetCode = 1;
|
||||
ULONG nSize=strlen(lpUserName);
|
||||
if (!GetUserName(lpUserName,&nSize)) nRetCode=0;
|
||||
return nRetCode;
|
||||
}
|
||||
|
||||
extern "C"
|
||||
__declspec(dllexport) INT BrowseFile(HWND hwndOwner,LPSTR lpstrTitle,LPSTR lpFileName,INT size)
|
||||
{
|
||||
char *xptr;
|
||||
// char msg[256];
|
||||
char *ptr=strrchr(lpFileName,'\\');
|
||||
int nFileOffset=0;
|
||||
int nFileExtension=0;
|
||||
if (ptr)
|
||||
nFileOffset=ptr-lpFileName+1;
|
||||
else {
|
||||
ptr=strrchr(lpFileName,':');
|
||||
if (ptr)
|
||||
nFileOffset=ptr-lpFileName;
|
||||
}
|
||||
if (ptr==NULL)
|
||||
ptr=lpFileName;
|
||||
if (xptr=strrchr(ptr,'.'))
|
||||
nFileExtension=nFileOffset+(xptr-ptr);
|
||||
// sprintf(msg,"Title: [%s] filename=[%s], %i,%i,%i",lpstrTitle,lpFileName,nFileOffset,nFileExtension,size);
|
||||
// AfxMessageBox(msg,MB_OK);
|
||||
OPENFILENAME data={
|
||||
sizeof(OPENFILENAME) //lStructSize
|
||||
,hwndOwner //hwndOwner
|
||||
,NULL //
|
||||
,"*.*" //lpstrFilter
|
||||
,NULL //lpstrCustomFilter
|
||||
,NULL //nMaxCustFilter
|
||||
,0 //nFilterIndex
|
||||
,lpFileName //lpstrFile
|
||||
,size //nMaxFile - at least 256 characters
|
||||
,NULL //lpstrFileTitle
|
||||
,0 //nMaxFileTitle
|
||||
,NULL //lpstrInitialDir
|
||||
,lpstrTitle //lpstrTitle
|
||||
,OFN_HIDEREADONLY|OFN_PATHMUSTEXIST //Flags
|
||||
,nFileOffset //nFileOffset
|
||||
,nFileExtension //nFileExtension
|
||||
,NULL //lpstrDefExt
|
||||
,NULL //lCustData
|
||||
,NULL //lpfnHook
|
||||
,NULL //lpTemplateName
|
||||
};
|
||||
return GetOpenFileName(&data);
|
||||
}
|
7
src/WINNT/afs_setup_utils/GetWebDll/GetWebDll.def
Normal file
7
src/WINNT/afs_setup_utils/GetWebDll/GetWebDll.def
Normal file
@ -0,0 +1,7 @@
|
||||
; GetWebDll.def : Declares the module parameters for the DLL.
|
||||
|
||||
LIBRARY "GetWebDll"
|
||||
DESCRIPTION 'GetWebDll Windows Dynamic Link Library'
|
||||
|
||||
EXPORTS
|
||||
; Explicit exports can go here
|
11
src/WINNT/afs_setup_utils/GetWebDll/GetWebDll.dep
Normal file
11
src/WINNT/afs_setup_utils/GetWebDll/GetWebDll.dep
Normal file
@ -0,0 +1,11 @@
|
||||
# Microsoft Developer Studio Generated Dependency File, included by GetWebDll.mak
|
||||
|
||||
.\GetWebDll.cpp : \
|
||||
".\GetWebDll.h"\
|
||||
".\GetWebDllFun.h"\
|
||||
|
||||
|
||||
.\StdAfx.cpp : \
|
||||
".\StdAfx.h"\
|
||||
"c:\program files\microsoft visual studio\vc98\include\basetsd.h"\
|
||||
|
67
src/WINNT/afs_setup_utils/GetWebDll/GetWebDll.h
Normal file
67
src/WINNT/afs_setup_utils/GetWebDll/GetWebDll.h
Normal file
@ -0,0 +1,67 @@
|
||||
// GetWebDll.h : main header file for the GETWEBDLL DLL
|
||||
//
|
||||
|
||||
#if !defined(AFX_GETWEBDLL_H__470FBE70_389E_11D5_A375_00105A6BCA62__INCLUDED_)
|
||||
#define AFX_GETWEBDLL_H__470FBE70_389E_11D5_A375_00105A6BCA62__INCLUDED_
|
||||
|
||||
#if _MSC_VER > 1000
|
||||
#pragma once
|
||||
#endif // _MSC_VER > 1000
|
||||
|
||||
#ifndef __AFXWIN_H__
|
||||
#error include 'stdafx.h' before including this file for PCH
|
||||
#endif
|
||||
|
||||
#include "resource.h" // main symbols
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// CGetWebDllApp
|
||||
// See GetWebDll.cpp for the implementation of this class
|
||||
//
|
||||
|
||||
class CGetWebDllApp : public CWinApp
|
||||
{
|
||||
public:
|
||||
CGetWebDllApp();
|
||||
|
||||
// Overrides
|
||||
// ClassWizard generated virtual function overrides
|
||||
//{{AFX_VIRTUAL(CGetWebDllApp)
|
||||
//}}AFX_VIRTUAL
|
||||
|
||||
//{{AFX_MSG(CGetWebDllApp)
|
||||
// NOTE - the ClassWizard will add and remove member functions here.
|
||||
// DO NOT EDIT what you see in these blocks of generated code !
|
||||
//}}AFX_MSG
|
||||
DECLARE_MESSAGE_MAP()
|
||||
};
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
//{{AFX_INSERT_LOCATION}}
|
||||
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
||||
|
||||
class CTearSession : public CInternetSession
|
||||
{
|
||||
public:
|
||||
CTearSession(LPCTSTR pszAppName, int nMethod);
|
||||
virtual void OnStatusCallback(DWORD dwContext, DWORD dwInternetStatus,
|
||||
LPVOID lpvStatusInfomration, DWORD dwStatusInformationLen);
|
||||
};
|
||||
|
||||
|
||||
class CTearException : public CException
|
||||
{
|
||||
DECLARE_DYNCREATE(CTearException)
|
||||
|
||||
public:
|
||||
CTearException(int nCode = 0);
|
||||
~CTearException() { }
|
||||
|
||||
int m_nErrorCode;
|
||||
};
|
||||
|
||||
#endif // !defined(AFX_GETWEBDLL_H__470FBE70_389E_11D5_A375_00105A6BCA62__INCLUDED_)
|
||||
|
||||
|
122
src/WINNT/afs_setup_utils/GetWebDll/GetWebDll.rc
Normal file
122
src/WINNT/afs_setup_utils/GetWebDll/GetWebDll.rc
Normal file
@ -0,0 +1,122 @@
|
||||
// Microsoft Visual C++ generated resource script.
|
||||
//
|
||||
#include "resource.h"
|
||||
|
||||
#define APSTUDIO_READONLY_SYMBOLS
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 2 resource.
|
||||
//
|
||||
#include "afxres.h"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#undef APSTUDIO_READONLY_SYMBOLS
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// TEXTINCLUDE
|
||||
//
|
||||
|
||||
1 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"resource.h\0"
|
||||
END
|
||||
|
||||
2 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"#include ""afxres.h""\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
3 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"#define _AFX_NO_SPLITTER_RESOURCES\r\n"
|
||||
"#define _AFX_NO_OLE_RESOURCES\r\n"
|
||||
"#define _AFX_NO_TRACKER_RESOURCES\r\n"
|
||||
"#define _AFX_NO_PROPERTY_RESOURCES\r\n"
|
||||
"\r\n"
|
||||
"#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r\n"
|
||||
"#ifdef _WIN32\r\n"
|
||||
"LANGUAGE 9, 1\r\n"
|
||||
"#pragma code_page(1252)\r\n"
|
||||
"#endif //_WIN32\r\n"
|
||||
"#include ""afxres.rc"" // Standard components\r\n"
|
||||
"#endif\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
|
||||
#ifdef _WIN32
|
||||
LANGUAGE 9, 1
|
||||
#pragma code_page(1252)
|
||||
#endif //_WIN32
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Version
|
||||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 1,0,0,1
|
||||
PRODUCTVERSION 1,0,0,1
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
#else
|
||||
FILEFLAGS 0x0L
|
||||
#endif
|
||||
FILEOS 0x4L
|
||||
FILETYPE 0x2L
|
||||
FILESUBTYPE 0x0L
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "040904B0"
|
||||
BEGIN
|
||||
VALUE "CompanyName", "\0"
|
||||
VALUE "FileDescription", "GetWebDll DLL\0"
|
||||
VALUE "FileVersion", "1, 0, 0, 1\0"
|
||||
VALUE "InternalName", "GetWebDll\0"
|
||||
VALUE "LegalCopyright", "Copyright (C) 2001\0"
|
||||
VALUE "LegalTrademarks", "\0"
|
||||
VALUE "OriginalFilename","GetWebDll.DLL\0"
|
||||
VALUE "ProductName", "GetWebDll Dynamic Link Library\0"
|
||||
VALUE "ProductVersion", "1, 0, 0, 1\0"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x409, 1200
|
||||
END
|
||||
END
|
||||
|
||||
#endif
|
||||
|
||||
#ifndef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 3 resource.
|
||||
//
|
||||
#define _AFX_NO_SPLITTER_RESOURCES
|
||||
#define _AFX_NO_OLE_RESOURCES
|
||||
#define _AFX_NO_TRACKER_RESOURCES
|
||||
#define _AFX_NO_PROPERTY_RESOURCES
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
|
||||
#ifdef _WIN32
|
||||
LANGUAGE 9, 1
|
||||
#pragma code_page(1252)
|
||||
#endif //_WIN32
|
||||
#include "afxres.rc" // Standard components
|
||||
#endif
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#endif // not APSTUDIO_INVOKED
|
||||
|
14
src/WINNT/afs_setup_utils/GetWebDll/GetWebDllFun.h
Normal file
14
src/WINNT/afs_setup_utils/GetWebDll/GetWebDllFun.h
Normal file
@ -0,0 +1,14 @@
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
||||
__declspec(dllexport) INT GetWebPage(LPSTR lpErrMsg,LPSTR lpFile,LPSTR lpCmdLine);
|
||||
|
||||
__declspec(dllexport) INT GetUserLogon(LPSTR lpUserName);
|
||||
|
||||
__declspec(dllexport) INT BrowseFile(HWND hwndOwner,LPSTR lpstrTitle,LPSTR lpFileFullName,INT fullsize);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
16
src/WINNT/afs_setup_utils/GetWebDll/Resource.h
Normal file
16
src/WINNT/afs_setup_utils/GetWebDll/Resource.h
Normal file
@ -0,0 +1,16 @@
|
||||
//{{NO_DEPENDENCIES}}
|
||||
// Microsoft Visual C++ generated include file.
|
||||
// Used by GETWEBDLL.RC
|
||||
//
|
||||
|
||||
// Next default values for new objects
|
||||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
|
||||
#define _APS_NEXT_RESOURCE_VALUE 18000
|
||||
#define _APS_NEXT_CONTROL_VALUE 18000
|
||||
#define _APS_NEXT_SYMED_VALUE 18000
|
||||
#define _APS_NEXT_COMMAND_VALUE 32771
|
||||
#endif
|
||||
#endif
|
44
src/WINNT/afs_setup_utils/GetWebDll/StdAfx.h
Normal file
44
src/WINNT/afs_setup_utils/GetWebDll/StdAfx.h
Normal file
@ -0,0 +1,44 @@
|
||||
// stdafx.h : include file for standard system include files,
|
||||
// or project specific include files that are used frequently, but
|
||||
// are changed infrequently
|
||||
//
|
||||
|
||||
#if !defined(AFX_STDAFX_H__470FBE72_389E_11D5_A375_00105A6BCA62__INCLUDED_)
|
||||
#define AFX_STDAFX_H__470FBE72_389E_11D5_A375_00105A6BCA62__INCLUDED_
|
||||
|
||||
#if _MSC_VER > 1000
|
||||
#pragma once
|
||||
#endif // _MSC_VER > 1000
|
||||
|
||||
#define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers
|
||||
|
||||
#include <afxwin.h> // MFC core and standard components
|
||||
#include <afxext.h> // MFC extensions
|
||||
|
||||
#ifndef _AFX_NO_OLE_SUPPORT
|
||||
#include <afxole.h> // MFC OLE classes
|
||||
#include <afxodlgs.h> // MFC OLE dialog classes
|
||||
#include <afxdisp.h> // MFC Automation classes
|
||||
#endif // _AFX_NO_OLE_SUPPORT
|
||||
|
||||
|
||||
#ifndef _AFX_NO_DB_SUPPORT
|
||||
#include <afxdb.h> // MFC ODBC database classes
|
||||
#endif // _AFX_NO_DB_SUPPORT
|
||||
|
||||
#ifndef _AFX_NO_DAO_SUPPORT
|
||||
#include <afxdao.h> // MFC DAO database classes
|
||||
#endif // _AFX_NO_DAO_SUPPORT
|
||||
|
||||
#include <afxdtctl.h> // MFC support for Internet Explorer 4 Common Controls
|
||||
#ifndef _AFX_NO_AFXCMN_SUPPORT
|
||||
#include <afxcmn.h> // MFC support for Windows Common Controls
|
||||
#endif // _AFX_NO_AFXCMN_SUPPORT
|
||||
|
||||
|
||||
//{{AFX_INSERT_LOCATION}}
|
||||
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
|
||||
|
||||
#include <afxinet.h>
|
||||
|
||||
#endif // !defined(AFX_STDAFX_H__470FBE72_389E_11D5_A375_00105A6BCA62__INCLUDED_)
|
115
src/WINNT/afs_setup_utils/GetWebDll/ntmakefile
Normal file
115
src/WINNT/afs_setup_utils/GetWebDll/ntmakefile
Normal file
@ -0,0 +1,115 @@
|
||||
# Microsoft Developer Studio Generated NMAKE File, Based on GetWebDll.dsp
|
||||
!IF "$(OS)" == "Windows_NT"
|
||||
NULL=
|
||||
!ELSE
|
||||
NULL=nul
|
||||
!ENDIF
|
||||
|
||||
OUTDIR=.
|
||||
INTDIR=.
|
||||
# Begin Custom Macros
|
||||
OutDir=.
|
||||
# End Custom Macros
|
||||
|
||||
ALL : "$(OUTDIR)\GetWebDll.dll"
|
||||
|
||||
|
||||
CLEAN :
|
||||
-@erase "$(INTDIR)\GetWebDll.pch"
|
||||
-@erase "$(INTDIR)\GetWebDll.res"
|
||||
-@erase "$(INTDIR)\*.obj"
|
||||
-@erase "$(INTDIR)\vc60.idb"
|
||||
-@erase "$(OUTDIR)\GetWebDll.dll"
|
||||
-@erase "$(OUTDIR)\GetWebDll.exp"
|
||||
-@erase "$(OUTDIR)\GetWebDll.lib"
|
||||
-@erase "$(OUTDIR)\GetWebDll.sbl"
|
||||
-@erase "$(OUTDIR)\GetWebDll.pjt"
|
||||
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
CPP=cl.exe
|
||||
CPP_PROJ=/nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_WINDLL" /D "_MBCS" /D "_USRDLL" /Fp"$(INTDIR)\GetWebDll.pch" /Yu"stdafx.h" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
|
||||
|
||||
.c{$(INTDIR)}.obj::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.cpp{$(INTDIR)}.obj::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.cxx{$(INTDIR)}.obj::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.c{$(INTDIR)}.sbr::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.cpp{$(INTDIR)}.sbr::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.cxx{$(INTDIR)}.sbr::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
MTL=midl.exe
|
||||
MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
RSC=rc.exe
|
||||
RSC_PROJ=/l 0x409 /fo"$(INTDIR)\GetWebDll.res" /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)\GetWebDll.bsc"
|
||||
BSC32_SBRS= \
|
||||
|
||||
LINK32=link.exe
|
||||
LINK32_FLAGS=/nologo /subsystem:windows /dll /incremental:no /pdb:"$(OUTDIR)\GetWebDll.pdb" /machine:I386 /def:".\GetWebDll.def" /out:"$(OUTDIR)\GetWebDll.dll" /implib:"$(OUTDIR)\GetWebDll.lib"
|
||||
DEF_FILE= \
|
||||
".\GetWebDll.def"
|
||||
LINK32_OBJS= \
|
||||
"$(INTDIR)\GetWebDll.obj" \
|
||||
"$(INTDIR)\StdAfx.obj" \
|
||||
"$(INTDIR)\GetWebDll.res"
|
||||
|
||||
"$(OUTDIR)\GetWebDll.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
|
||||
$(LINK32) @<<
|
||||
$(LINK32_FLAGS) $(LINK32_OBJS)
|
||||
<<
|
||||
|
||||
|
||||
!IF "$(NO_EXTERNAL_DEPS)" != "1"
|
||||
!IF EXISTS("GetWebDll.dep")
|
||||
!INCLUDE "GetWebDll.dep"
|
||||
!ELSE
|
||||
!MESSAGE Warning: cannot find "GetWebDll.dep"
|
||||
!ENDIF
|
||||
!ENDIF
|
||||
|
||||
|
||||
SOURCE=.\GetWebDll.cpp
|
||||
|
||||
"$(INTDIR)\GetWebDll.obj" : $(SOURCE) "$(INTDIR)" "$(INTDIR)\GetWebDll.pch"
|
||||
|
||||
|
||||
SOURCE=.\GetWebDll.rc
|
||||
|
||||
"$(INTDIR)\GetWebDll.res" : $(SOURCE) "$(INTDIR)"
|
||||
$(RSC) $(RSC_PROJ) $(SOURCE)
|
||||
|
||||
|
||||
SOURCE=.\StdAfx.cpp
|
||||
|
||||
CPP_SWITCHES=/nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_WINDLL" /D "_MBCS" /D "_USRDLL" /Fp"$(INTDIR)\GetWebDll.pch" /Yc"stdafx.h" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
|
||||
|
||||
"$(INTDIR)\StdAfx.obj" "$(INTDIR)\GetWebDll.pch" : $(SOURCE) "$(INTDIR)"
|
||||
$(CPP) @<<
|
||||
$(CPP_SWITCHES) $(SOURCE)
|
||||
<<
|
||||
|
@ -89,11 +89,19 @@ $(AFSRM_EXEFILE): $(AFSRM_EXEOBJS) $(AFSRM_EXELIBS)
|
||||
install : $(INSTALL_UTILS_DLLFILE) $(SERVER_UNINST_DLLFILE) $(CLIENT_UNINST_DLLFILE) \
|
||||
$(CC_UNINST_DLLFILE) $(LIGHT_CLIENT_UNINST_DLLFILE) $(DOCS_UNINST_DLLFILE) \
|
||||
$(AFSRM_EXEFILE) lang
|
||||
cd _isuser
|
||||
nmake -fntmakefile
|
||||
$(CD) ..
|
||||
cd getwebdll
|
||||
nmake -fntmakefile
|
||||
$(CD) ..
|
||||
echo
|
||||
|
||||
lang ::
|
||||
$(CD) lang
|
||||
for /f %l in ('dir /B ??_??') do @$(NTLANG) %l $(MAKECMD) /nologo /f NTMakefile install
|
||||
$(CD) ..
|
||||
echo done lang
|
||||
|
||||
############################################################################
|
||||
# How to build the shared source file for each uninstall dll
|
||||
@ -156,7 +164,13 @@ $(DOCS_UNINST_DLLFILE) : d_afs_setup_utils.obj $(DLLOBJS) $(DLLLIBS)
|
||||
############################################################################
|
||||
|
||||
clean::
|
||||
|
||||
$(CD) _isuser
|
||||
nmake -fntmakefile clean
|
||||
$(CD) ..
|
||||
$(CD) getwebdll
|
||||
nmake -fntmakefile clean
|
||||
$(CD) ..
|
||||
echo done clean
|
||||
|
||||
############################################################################
|
||||
#
|
||||
|
188
src/WINNT/afs_setup_utils/_isuser/_IsUser.RC
Normal file
188
src/WINNT/afs_setup_utils/_isuser/_IsUser.RC
Normal file
@ -0,0 +1,188 @@
|
||||
//Microsoft Developer Studio generated resource script.
|
||||
//
|
||||
#include "resource.h"
|
||||
|
||||
#define APSTUDIO_READONLY_SYMBOLS
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 2 resource.
|
||||
//
|
||||
#define APSTUDIO_HIDDEN_SYMBOLS
|
||||
#include "windows.h"
|
||||
#undef APSTUDIO_HIDDEN_SYMBOLS
|
||||
#include "sdrc.h"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#undef APSTUDIO_READONLY_SYMBOLS
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// English (U.S.) resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
|
||||
#ifdef _WIN32
|
||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||
#pragma code_page(1252)
|
||||
#endif //_WIN32
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Dialog
|
||||
//
|
||||
|
||||
DLG_DRIVEPATH DIALOGEX 0, 0, 332, 218
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Select Local Drive Mapping"
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
LTEXT "",52,0,0,332,36
|
||||
LTEXT "Enable Assignment, choose drive letter and define AFS mount point path.",
|
||||
901,17,41,289,19,SS_NOPREFIX
|
||||
LTEXT "Map local drive letter to AFS mount point.",50,10,3,220,
|
||||
8,0,WS_EX_TRANSPARENT
|
||||
LTEXT "AFS service can map drive letters to AFS mount points.\nBoth Letters and mounts points can be configured!",
|
||||
51,17,12,273,22,0,WS_EX_TRANSPARENT
|
||||
CONTROL "",1301,"Static",SS_ETCHEDHORZ | WS_GROUP,0,36,332,1
|
||||
DEFPUSHBUTTON "&Next >",SD_PBUT_CONTINUE,215,196,50,14
|
||||
PUSHBUTTON "Cancel",SD_PBUT_CANCEL,272,196,50,14
|
||||
PUSHBUTTON "< &Back",SD_PBUT_BACK,166,196,50,14
|
||||
CONTROL "",SD_STA_IMAGE_2,"Static",SS_BLACKFRAME,54,185,268,1
|
||||
LTEXT "",7,10,182,40,10,NOT WS_VISIBLE
|
||||
COMBOBOX IDC_HOMEDRIVELIST,17,151,41,76,CBS_DROPDOWNLIST |
|
||||
WS_VSCROLL | WS_GROUP | WS_TABSTOP
|
||||
GROUPBOX "Root Drive Assignment",IDC_STATIC,2,62,323,52,WS_GROUP
|
||||
EDITTEXT IDC_HOMEPATH,66,151,258,12,ES_AUTOHSCROLL |
|
||||
ES_OEMCONVERT | WS_GROUP
|
||||
LTEXT "Drive",IDC_STATIC,17,139,17,8
|
||||
LTEXT "Path",IDC_STATIC,66,139,15,8
|
||||
COMBOBOX IDC_ROOTDRIVELIST,17,94,40,76,CBS_DROPDOWNLIST |
|
||||
WS_VSCROLL | WS_GROUP | WS_TABSTOP
|
||||
GROUPBOX "Home Drive Assignment",IDC_STATIC,5,117,323,56,WS_GROUP
|
||||
EDITTEXT IDC_ROOTPATH,66,94,254,12,ES_AUTOHSCROLL | ES_OEMCONVERT |
|
||||
WS_GROUP
|
||||
LTEXT "Drive",IDC_STATIC,17,84,17,8
|
||||
LTEXT "Path",IDC_STATIC,66,84,15,8
|
||||
LTEXT "@10550,10551;1;0;;0,128,128 ",1200,0,0,332,36,NOT
|
||||
WS_VISIBLE,WS_EX_TRANSPARENT
|
||||
PUSHBUTTON "C",3,21,200,25,12,NOT WS_VISIBLE | WS_GROUP | NOT
|
||||
WS_TABSTOP
|
||||
CONTROL "Enable Assigment",IDC_ENABLEROOT,"Button",
|
||||
BS_AUTOCHECKBOX | WS_TABSTOP,5,72,71,10
|
||||
CONTROL "Enable Assigment",IDC_ENABLEHOME,"Button",
|
||||
BS_AUTOCHECKBOX | WS_TABSTOP,9,128,71,10
|
||||
END
|
||||
|
||||
DLG_CELLSERVDB DIALOGEX 0, 0, 336, 228
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Select AFS Cell Data Base (afsdcell.ini)"
|
||||
FONT 8, "MS Sans Serif"
|
||||
BEGIN
|
||||
LTEXT "",52,0,0,336,36
|
||||
LTEXT "Select the data base from one of the following source locations.",
|
||||
901,17,41,289,15,SS_NOPREFIX
|
||||
LTEXT "Choose Source location:",50,10,3,220,8,0,
|
||||
WS_EX_TRANSPARENT
|
||||
LTEXT "AFS Cell Data Base contains the list of available AFS cells and their IP addresses.",
|
||||
51,17,15,275,19,0,WS_EX_TRANSPARENT
|
||||
CONTROL "",1301,"Static",SS_ETCHEDHORZ | WS_GROUP,0,36,336,1
|
||||
DEFPUSHBUTTON "&Next >",SD_PBUT_CONTINUE,215,196,50,14
|
||||
PUSHBUTTON "Cancel",SD_PBUT_CANCEL,272,196,50,14
|
||||
PUSHBUTTON "< &Back",SD_PBUT_BACK,166,196,50,14
|
||||
CONTROL "",SD_STA_IMAGE_2,"Static",SS_BLACKFRAME,54,185,268,1
|
||||
LTEXT "",7,10,182,40,10,NOT WS_VISIBLE
|
||||
LTEXT "@10550,10551;1;0;;0,128,128 ",1200,0,0,336,36,NOT
|
||||
WS_VISIBLE,WS_EX_TRANSPARENT
|
||||
PUSHBUTTON "C",3,21,200,25,12,NOT WS_VISIBLE | WS_GROUP | NOT
|
||||
WS_TABSTOP
|
||||
PUSHBUTTON "B&rowse...",IDC_BROWSE,262,160,46,14
|
||||
GROUPBOX "Download from Web Address",IDC_STATIC,108,115,205,31
|
||||
GROUPBOX "Select File",IDC_STATIC,108,150,205,31
|
||||
EDITTEXT IDC_WEB,115,126,180,12,ES_AUTOHSCROLL | ES_OEMCONVERT |
|
||||
WS_GROUP
|
||||
GROUPBOX "Packaged Installation File",IDC_STATIC,108,87,205,23,
|
||||
WS_GROUP
|
||||
LTEXT "General.org",IDC_INSTALL,114,96,187,10
|
||||
GROUPBOX "",IDC_STATIC,90,58,15,124,NOT WS_VISIBLE | WS_GROUP
|
||||
CONTROL "",IDC_CHECK_INSTALL,"Button",BS_AUTORADIOBUTTON |
|
||||
WS_GROUP,94,96,8,10
|
||||
CONTROL "",IDC_CHECK_WEB,"Button",BS_AUTORADIOBUTTON | WS_GROUP,
|
||||
94,125,8,10
|
||||
CONTROL "",IDC_CHECK_BROWSEFILE,"Button",BS_AUTORADIOBUTTON |
|
||||
WS_GROUP,94,160,8,10
|
||||
CONTROL "",IDC_CHECK_PREVIOUSFILE,"Button",BS_AUTORADIOBUTTON |
|
||||
WS_GROUP,94,70,8,10
|
||||
LTEXT "",IDC_PREVIOUSFILE,114,71,189,8
|
||||
GROUPBOX "Previous Installation",IDC_STATIC,108,58,205,26,
|
||||
WS_GROUP
|
||||
EDITTEXT IDC_BROWSEFILE,113,161,142,12,ES_AUTOHSCROLL
|
||||
END
|
||||
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// TEXTINCLUDE
|
||||
//
|
||||
|
||||
1 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"resource.h\0"
|
||||
END
|
||||
|
||||
2 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"#define APSTUDIO_HIDDEN_SYMBOLS\r\n"
|
||||
"#include ""windows.h""\r\n"
|
||||
"#undef APSTUDIO_HIDDEN_SYMBOLS\r\n"
|
||||
"#include ""sdrc.h""\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
3 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Icon
|
||||
//
|
||||
|
||||
// Icon with lowest ID value placed first to ensure application icon
|
||||
// remains consistent on all systems.
|
||||
//10000 ICON DISCARDABLE "icon1.ico"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// DESIGNINFO
|
||||
//
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
GUIDELINES DESIGNINFO DISCARDABLE
|
||||
BEGIN
|
||||
DLG_CELLSERVDB, DIALOG
|
||||
BEGIN
|
||||
RIGHTMARGIN, 332
|
||||
BOTTOMMARGIN, 218
|
||||
END
|
||||
END
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
#endif // English (U.S.) resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
#ifndef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 3 resource.
|
||||
//
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#endif // not APSTUDIO_INVOKED
|
||||
|
9
src/WINNT/afs_setup_utils/_isuser/_IsUser.dep
Normal file
9
src/WINNT/afs_setup_utils/_isuser/_IsUser.dep
Normal file
@ -0,0 +1,9 @@
|
||||
# Microsoft Developer Studio Generated Dependency File, included by _IsUser.mak
|
||||
|
||||
.\_isuser.c : \
|
||||
"c:\program files\microsoft visual studio\vc98\include\basetsd.h"\
|
||||
|
||||
|
||||
.\_Isuser.RC : \
|
||||
".\SDRC.H"\
|
||||
|
21
src/WINNT/afs_setup_utils/_isuser/_isuser.c
Normal file
21
src/WINNT/afs_setup_utils/_isuser/_isuser.c
Normal file
@ -0,0 +1,21 @@
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// IIIIIII SSSSSS
|
||||
// II SS InstallShield (R)
|
||||
// II SSSSSS (c) 1996-2000, InstallShield Software Corporation
|
||||
// II SS (c) 1990-1996, InstallShield Corporation
|
||||
// IIIIIII SSSSSS All Rights Reserved.
|
||||
//
|
||||
//
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#define NOCOMM
|
||||
#include <windows.h>
|
||||
|
||||
|
||||
BOOL WINAPI DllMain( PVOID hmod, ULONG ulReason, PCONTEXT pctx )
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
100
src/WINNT/afs_setup_utils/_isuser/ntmakefile
Normal file
100
src/WINNT/afs_setup_utils/_isuser/ntmakefile
Normal file
@ -0,0 +1,100 @@
|
||||
# Microsoft Developer Studio Generated NMAKE File, Based on _IsUser.dsp
|
||||
!IF "$(OS)" == "Windows_NT"
|
||||
NULL=
|
||||
!ELSE
|
||||
NULL=nul
|
||||
!ENDIF
|
||||
|
||||
OUTDIR=.
|
||||
INTDIR=.
|
||||
# Begin Custom Macros
|
||||
OutDir=.
|
||||
# End Custom Macros
|
||||
|
||||
ALL : "$(OUTDIR)\_IsUser.dll"
|
||||
|
||||
|
||||
CLEAN :
|
||||
-@erase "$(INTDIR)\_isuser.obj"
|
||||
-@erase "$(INTDIR)\_Isuser.res"
|
||||
-@erase "$(INTDIR)\vc60.idb"
|
||||
-@erase "$(OUTDIR)\_IsUser.dll"
|
||||
-@erase "$(OUTDIR)\_IsUser.exp"
|
||||
-@erase "$(OUTDIR)\_IsUser.lib"
|
||||
-@erase "$(OUTDIR)\*.pch"
|
||||
|
||||
"$(OUTDIR)" :
|
||||
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
|
||||
|
||||
CPP=cl.exe
|
||||
CPP_PROJ=/nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "_ISUSER_EXPORTS" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
|
||||
|
||||
.c{$(INTDIR)}.obj::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.cpp{$(INTDIR)}.obj::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.cxx{$(INTDIR)}.obj::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.c{$(INTDIR)}.sbr::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.cpp{$(INTDIR)}.sbr::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.cxx{$(INTDIR)}.sbr::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
MTL=midl.exe
|
||||
MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
RSC=rc.exe
|
||||
RSC_PROJ=/l 0x409 /fo"$(INTDIR)\_Isuser.res" /d "NDEBUG"
|
||||
BSC32=bscmake.exe
|
||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)\_IsUser.bsc"
|
||||
BSC32_SBRS= \
|
||||
|
||||
LINK32=link.exe
|
||||
LINK32_FLAGS=kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:no /pdb:"$(OUTDIR)\_IsUser.pdb" /machine:I386 /out:"$(OUTDIR)\_IsUser.dll" /implib:"$(OUTDIR)\_IsUser.lib"
|
||||
LINK32_OBJS= \
|
||||
"$(INTDIR)\_isuser.obj" \
|
||||
"$(INTDIR)\_Isuser.res"
|
||||
|
||||
"$(OUTDIR)\_IsUser.dll" : "$(OUTDIR)" $(DEF_FILE) $(LINK32_OBJS)
|
||||
$(LINK32) @<<
|
||||
$(LINK32_FLAGS) $(LINK32_OBJS)
|
||||
<<
|
||||
|
||||
|
||||
!IF "$(NO_EXTERNAL_DEPS)" != "1"
|
||||
!IF EXISTS("_IsUser.dep")
|
||||
!INCLUDE "_IsUser.dep"
|
||||
!ELSE
|
||||
!MESSAGE Warning: cannot find "_IsUser.dep"
|
||||
!ENDIF
|
||||
!ENDIF
|
||||
|
||||
|
||||
SOURCE=.\_isuser.c
|
||||
|
||||
"$(INTDIR)\_isuser.obj" : $(SOURCE) "$(INTDIR)"
|
||||
|
||||
|
||||
SOURCE=.\_Isuser.RC
|
||||
|
||||
"$(INTDIR)\_Isuser.res" : $(SOURCE) "$(INTDIR)"
|
||||
$(RSC) $(RSC_PROJ) $(SOURCE)
|
||||
|
38
src/WINNT/afs_setup_utils/_isuser/resource.h
Normal file
38
src/WINNT/afs_setup_utils/_isuser/resource.h
Normal file
@ -0,0 +1,38 @@
|
||||
//{{NO_DEPENDENCIES}}
|
||||
// Microsoft Developer Studio generated include file.
|
||||
// Used by _IsUser.RC
|
||||
//
|
||||
#define IDC_HOMEPATH 301
|
||||
#define IDC_ROOTPATH 302
|
||||
#define IDC_HOMEDRIVELIST 1007
|
||||
#define IDC_ROOTDRIVELIST 1008
|
||||
#define IDC_ENABLEROOT 1010
|
||||
#define IDC_ENABLEHOME 1011
|
||||
#define IDC_INSTALL 1011
|
||||
#define IDC_WEB 1016
|
||||
#define IDC_CHECK_INSTALL 1018
|
||||
#define IDC_CHECK_WEB 1019
|
||||
#define IDC_CHECK_FILE 1020
|
||||
#define IDC_CHECK_BROWSEFILE 1020
|
||||
#define IDC_CHECK_DEFAULT 1021
|
||||
#define IDC_CHECK_PREVIOUSFILE 1021
|
||||
#define IDC_PREVIOUSFILE 1024
|
||||
#define IDC_BROWSE 1025
|
||||
#define IDC_BROWSEFILE 1026
|
||||
#define DLG_TEMPLATE 13029
|
||||
#define DLG_DRIVEPATH 13030
|
||||
#define DLG_CELLSERVDB 13031
|
||||
#define IDC_PATH 13032
|
||||
#define IDC_STATIC -1
|
||||
|
||||
// Next default values for new objects
|
||||
//
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
#ifndef APSTUDIO_READONLY_SYMBOLS
|
||||
#define _APS_NO_MFC 1
|
||||
#define _APS_NEXT_RESOURCE_VALUE 104
|
||||
#define _APS_NEXT_COMMAND_VALUE 40001
|
||||
#define _APS_NEXT_CONTROL_VALUE 1028
|
||||
#define _APS_NEXT_SYMED_VALUE 101
|
||||
#endif
|
||||
#endif
|
File diff suppressed because it is too large
Load Diff
@ -271,6 +271,11 @@ Entry102=SERVER_GROUP_NAME
|
||||
Entry103=CLIENT_GROUP_NAME
|
||||
Entry104=CCENTER_GROUP_NAME
|
||||
Entry105=LIGHT_GROUP_NAME
|
||||
Entry106=CELLNAME_DEFAULT
|
||||
Entry107=WELCOME_MESSAGE
|
||||
Entry108=CELLSERVDB_WEB
|
||||
Entry109=CELLSERVDB_INSTALL
|
||||
Entry110=CELLSERVDB_CONFIGNAME
|
||||
|
||||
[CONFIGURING_AFS_CREDS]
|
||||
Comment=
|
||||
@ -432,3 +437,18 @@ Comment=
|
||||
[LIGHT_GROUP_NAME]
|
||||
Comment=
|
||||
|
||||
[CELLNAME_DEFAULT]
|
||||
Comment=Default Cell name
|
||||
|
||||
[WELCOME_MESSAGE]
|
||||
Comment=Display in Welcome Box
|
||||
|
||||
[CELLSERVDB_WEB]
|
||||
Comment=Web address to load cellservdb
|
||||
|
||||
[CELLSERVDB_INSTALL]
|
||||
Comment=Source file for installable Cellservdb
|
||||
|
||||
[CELLSERVDB_CONFIGNAME]
|
||||
Comment=Cellservdb file name
|
||||
|
||||
|
@ -1,40 +1,21 @@
|
||||
[Client]
|
||||
[Client:HKLM:SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]
|
||||
Cell=S,CELLNAME_DEFAULT
|
||||
(Default)=S,
|
||||
---Comment---=
|
||||
---FileGroup---=
|
||||
HKLM0=Software\TransarcCorporation\AFS Client\CurrentVersion
|
||||
HKLM1=Software\TransarcCorporation\AFS Client
|
||||
HKLM2=Software\TransarcCorporation\AFS Client\1.0 4.01
|
||||
HKLM3=SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon
|
||||
HKCR0=CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}
|
||||
HKLM4=SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters
|
||||
HKCR1=CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}\InprocServer32
|
||||
HKLM5=SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider
|
||||
HKCR2=*\shellex\ContextMenuHandlers\AFS Client Shell Extension
|
||||
HKCR3=FOLDER\shellex\ContextMenuHandlers\AFS Client Shell Extension
|
||||
HKLM6=SYSTEM\CurrentControlSet\Services\NetBT\Parameters
|
||||
|
||||
[Client:HKCR:*\shellex\ContextMenuHandlers\AFS Client Shell Extension]
|
||||
---Comment---=
|
||||
(Default)=S,{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}
|
||||
|
||||
[Client:HKCR:CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}\InprocServer32]
|
||||
---Comment---=
|
||||
(Default)=S,<TARGETDIR>\Client\Program\afs_shl_ext.dll
|
||||
---Comment---=
|
||||
ThreadingModel=S,Apartment
|
||||
|
||||
[Client:HKLM:SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]
|
||||
Cell=S,
|
||||
[Client:HKCR:*\shellex\ContextMenuHandlers\AFS Client Shell Extension]
|
||||
(Default)=S,{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}
|
||||
---Comment---=
|
||||
(Default)=S,
|
||||
|
||||
[Client:HKLM:SYSTEM\CurrentControlSet\Services\NetBT\Parameters]
|
||||
SMBDeviceEnabled=N,0
|
||||
|
||||
[Server:HKLM:System\CurrentControlSet\Services\EventLog\Application\AFS Service]
|
||||
[WinNT_Client_NoUninstall:HKLM:SOFTWARE\Microsoft\Windows NT\CurrentVersion\File Manager\AddOns]
|
||||
(Default)=S,
|
||||
---Comment---=
|
||||
EventMessageFile=S,<EVENT_MSG_DLL>
|
||||
TypesSupported=N,7
|
||||
AFS Client FME=S,<TARGETDIR>\Client\Program\afs_fme.dll
|
||||
|
||||
[Server]
|
||||
---Comment---=
|
||||
@ -42,109 +23,123 @@ TypesSupported=N,7
|
||||
HKLM0=Software\TransarcCorporation\AFS Server\CurrentVersion
|
||||
HKLM1=System\CurrentControlSet\Services\EventLog\Application\AFS Service
|
||||
HKLM2=Software\TransarcCorporation\AFS Server
|
||||
HKLM3=Software\TransarcCorporation\AFS Server\1.0 4.01
|
||||
HKLM3=Software\TransarcCorporation\AFS Server\%1.%2 %3.%4
|
||||
|
||||
[WinNT_Client_NoUninstall:HKLM:SOFTWARE\Microsoft\Windows NT\CurrentVersion\File Manager\AddOns]
|
||||
[Server:HKLM:System\CurrentControlSet\Services\EventLog\Application\AFS Service]
|
||||
---Comment---=
|
||||
(Default)=S,
|
||||
AFS Client FME=S,<TARGETDIR>\Client\Program\afs_fme.dll
|
||||
EventMessageFile=S,<EVENT_MSG_DLL>
|
||||
TypesSupported=N,7
|
||||
|
||||
[Control_Center]
|
||||
---Comment---=
|
||||
---FileGroup---=
|
||||
HKLM0=Software\TransarcCorporation\AFS Control Center\CurrentVersion
|
||||
HKLM1=Software\TransarcCorporation\AFS Control Center
|
||||
HKLM2=Software\TransarcCorporation\AFS Control Center\1.0 4.01
|
||||
HKLM2=Software\TransarcCorporation\AFS Control Center\%1.%2 %3.%4
|
||||
|
||||
[Client:HKLM:Software\TransarcCorporation\AFS Client\1.0 4.01]
|
||||
PatchLevel=N,401
|
||||
BetaLevel=N,1
|
||||
Revision=N,0
|
||||
[Light_Client:HKLM:SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]
|
||||
(Default)=S,
|
||||
---Comment---=
|
||||
Gateway=S,
|
||||
|
||||
[Client:HKLM:SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon]
|
||||
---Comment---=
|
||||
(Default)=S,
|
||||
MajorVersion=N,1
|
||||
Title=S,<CLIENT_TITLE>
|
||||
InstallDateString=S,<INSTALL_DATE>
|
||||
PathName=S,<TARGETDIR>\Client
|
||||
Software Type=S,File System
|
||||
MinorVersion=N,0
|
||||
ReleaseType=S,<RELEASE_TYPE>
|
||||
VersionString=S,1.0 4.01
|
||||
Description=S,<CLIENT_DESC>
|
||||
|
||||
[Client_NoUninstall]
|
||||
---Comment---=
|
||||
---FileGroup---=
|
||||
HKLM0=SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved
|
||||
|
||||
[Client:HKLM:SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon]
|
||||
[Control_Center:HKLM:Software\TransarcCorporation\AFS Control Center]
|
||||
(Default)=S,
|
||||
---Comment---=
|
||||
|
||||
[Light_Client:HKLM:SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]
|
||||
---Comment---=
|
||||
(Default)=S,
|
||||
Gateway=S,
|
||||
|
||||
[Control_Center:HKLM:Software\TransarcCorporation\AFS Control Center\1.0 4.01]
|
||||
PatchLevel=N,401
|
||||
BetaLevel=N,1
|
||||
Revision=N,0
|
||||
---Comment---=
|
||||
(Default)=S,
|
||||
MajorVersion=N,1
|
||||
InstallDateString=S,<INSTALL_DATE>
|
||||
PathName=S,<TARGETDIR>\Control Center
|
||||
Software Type=S,File System
|
||||
MinorVersion=N,0
|
||||
ReleaseType=S,<RELEASE_TYPE>
|
||||
VersionString=S,1.0 4.01
|
||||
Description=S,AFS Control Center for Windows NT
|
||||
|
||||
[Client_NoUninstall:HKLM:SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved]
|
||||
---Comment---=
|
||||
(Default)=S,
|
||||
{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}=S,AFS Client Shell Extension
|
||||
(Default)=S,
|
||||
---Comment---=
|
||||
|
||||
[Control_Center:HKLM:Software\TransarcCorporation\AFS Control Center]
|
||||
---Comment---=
|
||||
(Default)=S,
|
||||
|
||||
[Control_Center:HKLM:Software\TransarcCorporation\AFS Control Center\CurrentVersion]
|
||||
PatchLevel=N,401
|
||||
BetaLevel=N,1
|
||||
[Server:HKLM:Software\TransarcCorporation\AFS Server\%1.%2 %3.%4]
|
||||
Revision=N,0
|
||||
---Comment---=
|
||||
PatchLevel=N,%3%4
|
||||
(Default)=S,
|
||||
MajorVersion=N,1
|
||||
---Comment---=
|
||||
MajorVersion=N,%1
|
||||
InstallDateString=S,<INSTALL_DATE>
|
||||
PathName=S,<TARGETDIR>\Control Center
|
||||
PathName=S,<TARGETDIR>\Server
|
||||
BetaLevel=N,1
|
||||
Software Type=S,File System
|
||||
MinorVersion=N,0
|
||||
MinorVersion=N,%2
|
||||
ReleaseType=S,<RELEASE_TYPE>
|
||||
VersionString=S,1.0 4.01
|
||||
Description=S,AFS Control Center for Windows NT
|
||||
VersionString=S,%5
|
||||
Description=S,AFS Server for Windows NT
|
||||
|
||||
[Light_Client]
|
||||
---Comment---=
|
||||
---FileGroup---=
|
||||
HKLM0=SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters
|
||||
|
||||
[Full_Client:HKLM:SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]
|
||||
---Comment---=
|
||||
[Control_Center:HKLM:Software\TransarcCorporation\AFS Control Center\CurrentVersion]
|
||||
Revision=N,0
|
||||
PatchLevel=N,%3%4
|
||||
(Default)=S,
|
||||
IsGateway=N,0
|
||||
---Comment---=
|
||||
MajorVersion=N,%1
|
||||
InstallDateString=S,<INSTALL_DATE>
|
||||
PathName=S,<TARGETDIR>\Control Center
|
||||
BetaLevel=N,1
|
||||
Software Type=S,File System
|
||||
MinorVersion=N,%2
|
||||
ReleaseType=S,<RELEASE_TYPE>
|
||||
VersionString=S,%5
|
||||
Description=S,AFS Control Center for Windows NT
|
||||
|
||||
[Server:HKLM:Software\TransarcCorporation\AFS Server]
|
||||
---Comment---=
|
||||
[Docs:HKLM:Software\TransarcCorporation\AFS Supplemental Documentation\%1.%2 %3.%4]
|
||||
Revision=N,0
|
||||
PatchLevel=N,%3%4
|
||||
(Default)=S,
|
||||
---Comment---=
|
||||
MajorVersion=N,%1
|
||||
InstallDateString=S,<INSTALL_DATE>
|
||||
PathName=S,<TARGETDIR>\Documentation
|
||||
BetaLevel=N,1
|
||||
Software Type=S,File System
|
||||
MinorVersion=N,%2
|
||||
ReleaseType=S,<RELEASE_TYPE>
|
||||
VersionString=S,%5
|
||||
Description=S,AFS System Administration Documentation
|
||||
|
||||
[Full_Client:HKLM:SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters]
|
||||
(Default)=S,
|
||||
---Comment---=
|
||||
IsGateway=N,0
|
||||
|
||||
[Docs]
|
||||
---Comment---=
|
||||
---FileGroup---=
|
||||
HKLM0=Software\TransarcCorporation\AFS Supplemental Documentation\CurrentVersion
|
||||
HKLM1=Software\TransarcCorporation\AFS Supplemental Documentation
|
||||
HKLM2=Software\TransarcCorporation\AFS Supplemental Documentation\1.0 4.01
|
||||
HKLM2=Software\TransarcCorporation\AFS Supplemental Documentation\%1.%2 %3.%4
|
||||
|
||||
[Server:HKLM:Software\TransarcCorporation\AFS Server]
|
||||
(Default)=S,
|
||||
---Comment---=
|
||||
|
||||
[Client]
|
||||
---Comment---=
|
||||
---FileGroup---=
|
||||
HKLM0=Software\TransarcCorporation\AFS Client\CurrentVersion
|
||||
HKLM1=Software\TransarcCorporation\AFS Client
|
||||
HKLM2=Software\TransarcCorporation\AFS Client\%1.%2 %3.%4
|
||||
HKCR0=CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}
|
||||
HKLM3=SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon
|
||||
HKCR1=CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}\InprocServer32
|
||||
HKLM4=SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters
|
||||
HKCR2=*\shellex\ContextMenuHandlers\AFS Client Shell Extension
|
||||
HKLM5=SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider
|
||||
HKCR3=FOLDER\shellex\ContextMenuHandlers\AFS Client Shell Extension
|
||||
|
||||
[Data]
|
||||
Set0=Server
|
||||
@ -156,122 +151,122 @@ Set5=Light_Client
|
||||
Set6=Full_Client
|
||||
Set7=Docs
|
||||
|
||||
[Client:HKLM:Software\TransarcCorporation\AFS Client\CurrentVersion]
|
||||
PatchLevel=N,401
|
||||
BetaLevel=N,1
|
||||
[Docs:HKLM:Software\TransarcCorporation\AFS Supplemental Documentation\CurrentVersion]
|
||||
Revision=N,0
|
||||
---Comment---=
|
||||
PatchLevel=N,%3%4
|
||||
(Default)=S,
|
||||
MajorVersion=N,1
|
||||
Title=S,<CLIENT_TITLE>
|
||||
---Comment---=
|
||||
MajorVersion=N,%1
|
||||
InstallDateString=S,<INSTALL_DATE>
|
||||
PathName=S,<TARGETDIR>\Client
|
||||
PathName=S,<TARGETDIR>\Documentation
|
||||
BetaLevel=N,1
|
||||
Software Type=S,File System
|
||||
MinorVersion=N,0
|
||||
MinorVersion=N,%2
|
||||
ReleaseType=S,<RELEASE_TYPE>
|
||||
VersionString=S,1.0 4.01
|
||||
Description=S,<CLIENT_DESC>
|
||||
VersionString=S,%5
|
||||
Description=S,AFS System Administration Documentation
|
||||
|
||||
[Full_Client]
|
||||
---Comment---=
|
||||
---FileGroup---=
|
||||
HKLM0=SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\Parameters
|
||||
|
||||
[Docs:HKLM:Software\TransarcCorporation\AFS Supplemental Documentation\CurrentVersion]
|
||||
PatchLevel=N,401
|
||||
BetaLevel=N,1
|
||||
[Client:HKLM:Software\TransarcCorporation\AFS Client\CurrentVersion]
|
||||
Revision=N,0
|
||||
---Comment---=
|
||||
PatchLevel=N,%3%4
|
||||
(Default)=S,
|
||||
MajorVersion=N,1
|
||||
---Comment---=
|
||||
Title=S,<CLIENT_TITLE>
|
||||
MajorVersion=N,%1
|
||||
InstallDateString=S,<INSTALL_DATE>
|
||||
PathName=S,<TARGETDIR>\Documentation
|
||||
PathName=S,<TARGETDIR>\Client
|
||||
BetaLevel=N,1
|
||||
Software Type=S,File System
|
||||
MinorVersion=N,0
|
||||
MinorVersion=N,%2
|
||||
ReleaseType=S,<RELEASE_TYPE>
|
||||
VersionString=S,1.0 4.01
|
||||
Description=S,AFS System Administration Documentation
|
||||
VersionString=S,%5
|
||||
Description=S,<CLIENT_DESC>
|
||||
|
||||
[Server:HKLM:Software\TransarcCorporation\AFS Server\1.0 4.01]
|
||||
PatchLevel=N,401
|
||||
BetaLevel=N,1
|
||||
Revision=N,0
|
||||
[Client:HKLM:Software\TransarcCorporation\AFS Client]
|
||||
(Default)=S,
|
||||
---Comment---=
|
||||
|
||||
[WinNT_Client_NoUninstall:HKLM:SOFTWARE\Microsoft\Windows NT\Current Version\File Manager\AddOns]
|
||||
---Comment---=
|
||||
(Default)=S,
|
||||
MajorVersion=N,1
|
||||
InstallDateString=S,<INSTALL_DATE>
|
||||
PathName=S,<TARGETDIR>\Server
|
||||
Software Type=S,File System
|
||||
MinorVersion=N,0
|
||||
ReleaseType=S,<RELEASE_TYPE>
|
||||
VersionString=S,1.0 4.01
|
||||
Description=S,AFS Server for Windows NT
|
||||
AFS Client FME=S,<TARGETDIR>\Client\Program\afs_fme.dll
|
||||
|
||||
[Client:HKLM:SYSTEM\CurrentControlSet\Services\TransarcAFSDaemon\NetworkProvider]
|
||||
(Default)=S,
|
||||
---Comment---=
|
||||
(Default)=S,
|
||||
Class=N,2
|
||||
Name=S,TransarcAFSDaemon
|
||||
ProviderPath=S,<LOGON_DLL>
|
||||
AuthentProviderPath=S,<LOGON_DLL>
|
||||
|
||||
[WinNT_Client_NoUninstall:HKLM:SOFTWARE\Microsoft\Windows NT\Current Version\File Manager\AddOns]
|
||||
(Default)=S,
|
||||
---Comment---=
|
||||
AFS Client FME=S,<TARGETDIR>\Client\Program\afs_fme.dll
|
||||
|
||||
[Client:HKLM:Software\TransarcCorporation\AFS Client]
|
||||
---Comment---=
|
||||
(Default)=S,
|
||||
|
||||
[WinNT_Client_NoUninstall]
|
||||
---Comment---=
|
||||
---FileGroup---=
|
||||
HKLM0=SOFTWARE\Microsoft\Windows NT\CurrentVersion\File Manager\AddOns
|
||||
|
||||
[Docs:HKLM:Software\TransarcCorporation\AFS Supplemental Documentation\1.0 4.01]
|
||||
PatchLevel=N,401
|
||||
BetaLevel=N,1
|
||||
Revision=N,0
|
||||
[Client:HKCR:FOLDER\shellex\ContextMenuHandlers\AFS Client Shell Extension]
|
||||
(Default)=S,{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}
|
||||
---Comment---=
|
||||
(Default)=S,
|
||||
MajorVersion=N,1
|
||||
InstallDateString=S,<INSTALL_DATE>
|
||||
PathName=S,<TARGETDIR>\Documentation
|
||||
Software Type=S,File System
|
||||
MinorVersion=N,0
|
||||
ReleaseType=S,<RELEASE_TYPE>
|
||||
VersionString=S,1.0 4.01
|
||||
Description=S,AFS System Administration Documentation
|
||||
|
||||
[General]
|
||||
Type=REGISTRYDATA
|
||||
Version=1.00.000
|
||||
|
||||
[Client:HKCR:FOLDER\shellex\ContextMenuHandlers\AFS Client Shell Extension]
|
||||
[Client:HKLM:Software\TransarcCorporation\AFS Client\%1.%2 %3.%4]
|
||||
Revision=N,0
|
||||
PatchLevel=N,%3%4
|
||||
(Default)=S,
|
||||
---Comment---=
|
||||
(Default)=S,{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}
|
||||
Title=S,<CLIENT_TITLE>
|
||||
MajorVersion=N,%1
|
||||
InstallDateString=S,<INSTALL_DATE>
|
||||
PathName=S,<TARGETDIR>\Client
|
||||
BetaLevel=N,1
|
||||
Software Type=S,File System
|
||||
MinorVersion=N,%2
|
||||
ReleaseType=S,<RELEASE_TYPE>
|
||||
VersionString=S,%5
|
||||
Description=S,<CLIENT_DESC>
|
||||
|
||||
[Server:HKLM:Software\TransarcCorporation\AFS Server\CurrentVersion]
|
||||
PatchLevel=N,401
|
||||
BetaLevel=N,1
|
||||
Revision=N,0
|
||||
---Comment---=
|
||||
PatchLevel=N,%3%4
|
||||
(Default)=S,
|
||||
MajorVersion=N,1
|
||||
---Comment---=
|
||||
MajorVersion=N,%1
|
||||
InstallDateString=S,<INSTALL_DATE>
|
||||
PathName=S,<TARGETDIR>\Server
|
||||
BetaLevel=N,1
|
||||
Software Type=S,File System
|
||||
MinorVersion=N,0
|
||||
MinorVersion=N,%2
|
||||
ReleaseType=S,<RELEASE_TYPE>
|
||||
VersionString=S,1.0 4.01
|
||||
VersionString=S,%5
|
||||
Description=S,AFS Server for Windows NT
|
||||
|
||||
[Client:HKCR:CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}]
|
||||
[Control_Center:HKLM:Software\TransarcCorporation\AFS Control Center\%1.%2 %3.%4]
|
||||
Revision=N,0
|
||||
PatchLevel=N,%3%4
|
||||
(Default)=S,
|
||||
---Comment---=
|
||||
(Default)=S,AFS Client Shell Extension
|
||||
MajorVersion=N,%1
|
||||
InstallDateString=S,<INSTALL_DATE>
|
||||
PathName=S,<TARGETDIR>\Control Center
|
||||
BetaLevel=N,1
|
||||
Software Type=S,File System
|
||||
MinorVersion=N,%2
|
||||
ReleaseType=S,<RELEASE_TYPE>
|
||||
VersionString=S,%5
|
||||
Description=S,AFS Control Center for Windows NT
|
||||
|
||||
[Docs:HKLM:Software\TransarcCorporation\AFS Supplemental Documentation]
|
||||
---Comment---=
|
||||
(Default)=S,
|
||||
---Comment---=
|
||||
|
||||
[Client:HKCR:CLSID\{DC515C27-6CAC-11D1-BAE7-00C04FD140D2}]
|
||||
(Default)=S,AFS Client Shell Extension
|
||||
---Comment---=
|
@ -23,6 +23,9 @@ copy "Script Files\setup.rul" .
|
||||
|
||||
copy "Setup Files\Uncompressed Files\Language Independent\OS Independent\setup.bmp" .
|
||||
|
||||
|
||||
copy "Setup Files\Uncompressed Files\Language Independent\OS Independent\_isuser.dll" .
|
||||
|
||||
copy "Shell Objects\Default.shl" .\Default.shell
|
||||
|
||||
copy "String Tables\Default.shl" .
|
||||
|
@ -1,127 +1,30 @@
|
||||
Copyright 2000, International Business Machines Corporation and others.
|
||||
All Rights Reserved.
|
||||
|
||||
This software has been released under the terms of the IBM Public
|
||||
License. For details, see the LICENSE file in the top-level source
|
||||
directory or online at http://www.openafs.org/dl/license10.html
|
||||
|
||||
HOW TO SET THE AFS FOR WINDOWS VERSION INFORMATION
|
||||
|
||||
Set AFSPRODUCT_VERSION in the following files:
|
||||
src\config\NTMakefile.i386_win95
|
||||
src\config\NTMakefile.i386_nt40
|
||||
|
||||
DECIDE WHAT THE VERSION INFO SHOULD BE
|
||||
The format of this variable should be
|
||||
x.y.z.p or x.y.z p
|
||||
|
||||
First decide what the version information should be. There are
|
||||
the following values that will need to be set:
|
||||
x= major verson (1-9)
|
||||
y= minor verson (1-9)
|
||||
z.p= patch level z=(1-9) p=(1-99 or a-z)
|
||||
|
||||
MajorVersion
|
||||
MinorVersion
|
||||
PatchLevel
|
||||
BetaLevel
|
||||
ReleaseType
|
||||
Title (called VersionString in the registry)
|
||||
For example:
|
||||
AFSPRODUCT_VERSION=1.1.1 a
|
||||
AFSPRODUCT_VERSION=1.1.1.1
|
||||
AFSPRODUCT_VERSION=1.1.101
|
||||
AFSPRODUCT_VERSION=1.1.1a
|
||||
|
||||
MajorVersion is the first number in a dotted version scheme. For
|
||||
example, if the version is 3.5, then MajorVersion is set to 3.
|
||||
|
||||
MinorVersion is the second number in a dotted version scheme. For
|
||||
example, if the version is 3.5, then MinorVersion is set to 5.
|
||||
|
||||
PatchLevel is an integer number representing the patch level. If
|
||||
the patch level is 4, then PatchLevel is set to 400. If the patch
|
||||
level is 3.32, then PatchLevel is set to 332. The reason patch
|
||||
numbers aren't just 1, 2, etc., is that they are currently set to
|
||||
the cml configuration number of the build used to produce the patch.
|
||||
We may later switch to just making the patch level a single digit,
|
||||
in which case the PatchLevel value must be set to something big
|
||||
enough so that in a comparison with the old patch levels, it will
|
||||
evaluate as bigger. So if you want a patch level of 4, use a
|
||||
PatchLevel setting of 400. If this is not a patch release, then
|
||||
set PatchLevel to 0.
|
||||
|
||||
BetaLevel is an integer number representing the beta level. This is
|
||||
just a way to have multiple beta releases. So if this is the first
|
||||
beta release, set BetaLevel to 1. If this is not a beta release,
|
||||
then set BetaLevel to 0.
|
||||
|
||||
ReleaseType is kind of redundant; it is set to the string "GA" if
|
||||
this is a non-beta release and "Beta" if this is a beta release.
|
||||
|
||||
Title is the product version as a full string. So if this is
|
||||
release 3.5 3.22, then Title is set to "3.5 3.22". If this is
|
||||
3.6 Beta 2, then Title is set to "3.6 Beta 2".
|
||||
|
||||
Title is used when showing the version to the user, like, for
|
||||
example, in the afs creds tool.
|
||||
|
||||
************************* NOTE ******************************
|
||||
You MUST set all of these values correctly and in a consistent
|
||||
manner from one release to the next so that the installer can
|
||||
properly determine whether to perform upgrades, downgrades, or
|
||||
reinstalls.
|
||||
|
||||
Look at the function CompareVersions in file setup.rul to see
|
||||
how these values are used to make version info decisions.
|
||||
These examples represent different forms of the same version.
|
||||
However the version will be displayed to the user as they are shown!
|
||||
|
||||
|
||||
SET THE VERSION IN THE INSTALLSHIELD FILES
|
||||
|
||||
You will need to edit the following InstallShield files:
|
||||
|
||||
value.shl:
|
||||
|
||||
This file contains all of the strings used by the program. Set
|
||||
all of the following identifiers to the new version number:
|
||||
|
||||
TITLE_MAIN
|
||||
UNINST_DISPLAY_NAME_CC
|
||||
UNINST_DISPLAY_NAME_CLIENT
|
||||
UNINST_DISPLAY_NAME_DOCS
|
||||
UNINST_DISPLAY_NAME_LIGHT_CLIENT
|
||||
UNINST_DISPLAY_NAME_SERVER
|
||||
|
||||
These identifiers below correspond to the version information
|
||||
discussed in the first section above.
|
||||
|
||||
PRODUCT_VERSION_MAJOR
|
||||
PRODUCT_VERSION_MINOR
|
||||
PRODUCT_VERSION_PATCH_LEVEL
|
||||
PRODUCT_VERSION_BETA_LEVEL
|
||||
PRODUCT_VERSION_RELEASE_TYPE
|
||||
PRODUCT_VERSION_TITLE
|
||||
|
||||
Default.rge:
|
||||
|
||||
This file contains information that will be written to the registry
|
||||
at install time.
|
||||
|
||||
Change all occurances of the following to the proper verison info:
|
||||
|
||||
MajorVersion (set to same value as PRODUCT_VERSION_MAJOR in value.shl)
|
||||
MinorVersion (set to same value as PRODUCT_VERSION_MINOR in value.shl)
|
||||
PatchLevel (set to same value as PRODUCT_VERSION_PATCH_LEVEL in value.shl)
|
||||
BetaLevel (set to same value as PRODUCT_VERSION_BETA_LEVEL in value.shl)
|
||||
ReleaseType (set to same value as PRODUCT_RELEASE_TYPE in value.shl)
|
||||
VersionString (set to same value as PRODUCT_VERSION_TITLE in value.shl)
|
||||
|
||||
Finally, change any string matching the form below to have the new verison
|
||||
info:
|
||||
|
||||
HKLMn=Software\TransarcCorporation\Product Name\Version
|
||||
|
||||
For example, one such string may be:
|
||||
|
||||
HKLM2=Software\TransarcCorporation\AFS Control Center\3.5 3.32
|
||||
|
||||
To update the verison info to 3.6 patch 3, the string would change
|
||||
to:
|
||||
|
||||
HKLM2=Software\TransarcCorporation\AFS Control Center\3.6 3
|
||||
|
||||
That's it! Build and test the thing, making sure that the version info
|
||||
in the registry is correct for each app, and that upgrades of previous
|
||||
versions, downgrades to previous versions from this version, and reinstalls
|
||||
of this version work correctly.
|
||||
|
||||
If you're the poor sucker who had to do this, then I offer you my sympathy!
|
||||
|
||||
|
||||
|
@ -8,30 +8,61 @@
|
||||
!INCLUDE ..\..\..\config\NTMakefile.$(SYS_NAME)
|
||||
!INCLUDE ..\..\..\config\NTMakefile.version
|
||||
|
||||
# Install comments
|
||||
# Don't use '=' in the following strings!
|
||||
# WELCOMEMESSAGE=Display during installation process
|
||||
# AFSBUILDCOMMENTS=Displayed in properity page for install file
|
||||
# CELLSERVDB_CONFIGNAME = name of configuration file (ThisCell)
|
||||
|
||||
CELLSERVDB_CONFIGNAME=afsdcell.ini
|
||||
WELCOMEMESSAGE=Default Configuration Information:\nBuild:*DatE* *TimE* Ver:$(AFSPRODUCT_VERSION)\nCellname:$(CELLNAME_DEFAULT)\nCellSrvDB:$(CELLSERVDB_INSTALL)
|
||||
AFSBUILDCOMMENTS=Build:*DatE* *TimE* CellServDB:$(CELLSERVDB_INSTALL)
|
||||
|
||||
############################################################################
|
||||
|
||||
CELLSERVDB = $(DESTDIR)\root.client\usr\vice\etc\afsdcell.ini
|
||||
|
||||
$(CELLSERVDB): afsdcell.ini
|
||||
copy $** $@
|
||||
|
||||
prep: $(CELLSERVDB) AFS_component_version_number.txt
|
||||
prep: AFS_component_version_number.txt
|
||||
$(DESTDIR)\bin\util_cr.exe } "$(AFSPRODUCT_VERSION)" ".\lang\en_US\valuee.shl"
|
||||
$(DESTDIR)\bin\util_cr.exe } "$(AFSPRODUCT_VERSION)" "default.txt" "default.rge"
|
||||
$(DESTDIR)\bin\util_cr.exe @ "$(AFSROOT)\src\WINNT\install\InstallShield5\lang\en_US\value.shl" "[DATA] CELLSERVDB_CONFIGNAME=$(CELLSERVDB_CONFIGNAME)"
|
||||
$(DESTDIR)\bin\util_cr.exe @ "$(AFSROOT)\src\WINNT\install\InstallShield5\lang\en_US\value.shl" "[DATA] CELLNAME_DEFAULT=$(CELLNAME_DEFAULT)"
|
||||
$(DESTDIR)\bin\util_cr.exe @ "$(AFSROOT)\src\WINNT\install\InstallShield5\lang\en_US\value.shl" "[DATA] CELLSERVDB_INSTALL=$(CELLSERVDB_INSTALL)"
|
||||
$(DESTDIR)\bin\util_cr.exe @ "$(AFSROOT)\src\WINNT\install\InstallShield5\lang\en_US\value.shl" "[DATA] CELLSERVDB_WEB=$(CELLSERVDB_WEB)"
|
||||
!IF "$(WELCOMEMESSAGE)" != ""
|
||||
$(DESTDIR)\bin\util_cr.exe @ "$(AFSROOT)\src\WINNT\install\InstallShield5\lang\en_US\value.shl" "[DATA] WELCOME_MESSAGE=$(WELCOMEMESSAGE)"
|
||||
!ENDIF
|
||||
! IF ((EXIST("$(ISWEB)")) &&("$(ISWEB)"!=""))
|
||||
$(DESTDIR)\bin\util_cr.exe @ "$(AFSROOT)\src\WINNT\install\InstallShield5\packageweb.pfw" "[Options] Version=$(AFSPRODUCT_VERSION)"
|
||||
$(DESTDIR)\bin\util_cr.exe @ "$(AFSROOT)\src\WINNT\install\InstallShield5\packageweb.pfw" "[Options] Comments=$(AFSBUILDCOMMENTS)"
|
||||
$(DESTDIR)\bin\util_cr.exe @ "$(AFSROOT)\src\WINNT\install\InstallShield5\packageweb.pfw" "[Options] ApplicationName=AFSforWindows"
|
||||
$(DESTDIR)\bin\util_cr.exe @ "$(AFSROOT)\src\WINNT\install\InstallShield5\packageweb.pfw" "[Options] Company=Open AFS"
|
||||
|
||||
! ENDIF
|
||||
CreateISDirTree.bat
|
||||
ScatterFiles.bat
|
||||
CreateGeneratedFiles.bat
|
||||
CompileScript.bat
|
||||
$(COPY) $(DESTDIR)\WinInstall\Config\wininet.dll ".\Setup Files\Compressed Files\0009-English\Intel 32\."
|
||||
$(COPY) $(DESTDIR)\WinInstall\Config\shlwapi.dll ".\Setup Files\Compressed Files\0009-English\Intel 32\."
|
||||
$(COPY) ..\..\afs_setup_utils\_isuser\_isuser.dll ".\Setup Files\Compressed Files\0009-English\Intel 32\."
|
||||
$(COPY) ..\..\afs_setup_utils\getwebdll\getwebdll.dll ".\Setup Files\Compressed Files\0009-English\Intel 32\."
|
||||
$(COPY) $(DESTDIR)\WinInstall\Config\$(CELLSERVDB_INSTALL) ".\Setup Files\Compressed Files\0009-English\Intel 32\$(CELLSERVDB_CONFIGNAME)"
|
||||
$(DESTDIR)\bin\util_cr.exe ~ "$(DESTDIR)\root.client\usr\vice\etc\$(CELLSERVDB_CONFIGNAME)"
|
||||
$(DESTDIR)\bin\util_cr.exe ~ ".\Setup Files\Compressed Files\0009-English\Intel 32\_ISUSER.DLL"
|
||||
$(DESTDIR)\bin\util_cr.exe ~ ".\Setup Files\Compressed Files\0009-English\Intel 32\shlwapi.DLL"
|
||||
$(DESTDIR)\bin\util_cr.exe ~ ".\Setup Files\Compressed Files\0009-English\Intel 32\wininet.DLL"
|
||||
$(DESTDIR)\bin\util_cr.exe ~ ".\Setup Files\Compressed Files\0009-English\Intel 32\GETWEBDLL.DLL"
|
||||
|
||||
build:
|
||||
BuildSetup.bat
|
||||
BuildSetup.bat
|
||||
xcopy/s/e/y "Media\Transarc AFS\Disk Images\disk1\*.*" $(DESTDIR)\WinInstall
|
||||
copy AFS_component_version_number.txt $(DESTDIR)\WinInstall\Version.txt
|
||||
copy AFS_component_version_number.txt $(DESTDIR)\WinInstall\Version.txt
|
||||
$(DEL) /q "Media\Transarc AFS\Disk Images\disk1\*.*"
|
||||
!IF ((EXIST("$(ISWEB)")) &&("$(ISWEB)"!=""))
|
||||
!IF ((EXIST("$(ISWEB)")) &&("$(ISWEB)"!=""))
|
||||
! IF (!EXIST($(DESTDIR)\Wininstall\PackageWeb))
|
||||
$(MKDIR) $(DESTDIR)\Wininstall\PackageWeb
|
||||
! ENDIF
|
||||
$(DEL) /q $(DESTDIR)\Wininstall\PackageWeb\*.*
|
||||
$(ISWEB)\Pftwwiz.exe $(AFSROOT)\src\winnt\install\InstallShield5\PackageWeb.pfw -s -a
|
||||
!ENDIF
|
||||
$(DEL) /q $(DESTDIR)\Wininstall\PackageWeb\*.*
|
||||
$(ISWEB)\Pftwwiz.exe $(AFSROOT)\src\winnt\install\InstallShield5\PackageWeb.pfw -s -a
|
||||
!ENDIF
|
||||
|
||||
install: prep build
|
||||
|
@ -24,6 +24,7 @@ copy setup.rul "Script Files"
|
||||
|
||||
rem Only copy this file when NOT doing a WSPP build
|
||||
if not defined AFSBLD_IS_WSPP copy setup.bmp "Setup Files\Uncompressed Files\Language Independent\OS Independent"
|
||||
if not defined AFSBLD_IS_WSPP copy _isuser.dll "Setup Files\Uncompressed Files\Language Independent\OS Independent"
|
||||
|
||||
copy %AFSROOT%\DEST\root.server\usr\afs\bin\InstallUtils.dll "Setup Files\Compressed Files\Language Independent\OS Independent"
|
||||
copy %AFSROOT%\DEST\root.server\usr\afs\bin\afs_setup_utils_*.dll "Setup Files\Compressed Files\Language Independent\OS Independent"
|
||||
|
@ -1,36 +1,41 @@
|
||||
[Data]
|
||||
DEFAULT_INSTALL_DIR=IBM\AFS
|
||||
CELLNAME_DEFAULT=almaden.ibm.com
|
||||
CELLSERVDB_CONFIGNAME=
|
||||
CELLSERVDB_WEB=
|
||||
CELLSERVDB_INSTALL=
|
||||
WELCOME_MESSAGE=
|
||||
NOTHING_SELECTED_MSG=You must select something to install before continuing.
|
||||
DOWNGRADE_LIGHT_CLIENT_MSG=Downgrade AFS Light Client
|
||||
SETUP_FINISHED_MSG=Setup has finished installing AFS® for Windows on your computer.
|
||||
TITLE_MAIN=Open AFS for Windows 1.0 4.01
|
||||
TITLE_MAIN=Open AFS for Windows %5
|
||||
SEVERE_DIALOG_TITLE=Open AFS for Windows
|
||||
UPGRADE_CLIENT_MSG=Upgrade AFS Client
|
||||
PRODUCT_VERSION_MINOR=0
|
||||
PRODUCT_VERSION_MINOR=%2
|
||||
CONFIGURING_AFS_CLIENT_SERVICE=Configuring the AFS Client service
|
||||
PRODUCT_NAME_CC=AFS Control Center
|
||||
PRODUCT_NAME_SERVER=AFS Server
|
||||
UPGRADE_CC_MSG=Upgrade AFS Control Center
|
||||
DOWNGRADE_SERVER_MSG=Downgrade AFS Server
|
||||
UNINST_DISPLAY_NAME_LIGHT_CLIENT=AFS Light 1.0 4.01
|
||||
UNINST_DISPLAY_NAME_LIGHT_CLIENT=AFS Light %5
|
||||
PRODUCT_NAME_LIGHT_CLIENT=AFS Light
|
||||
ERROR_COMPONENT=Component:
|
||||
COMPANY_NAME=TransarcCorporation
|
||||
REINSTALL_CLIENT_MSG=Reinstall AFS Client
|
||||
DOWNGRADE_CC_MSG=Downgrade AFS Control Center
|
||||
UNINST_DISPLAY_NAME_DOCS=AFS Supplemental Documentation 1.0 4.01
|
||||
UNINST_DISPLAY_NAME_DOCS=AFS Supplemental Documentation %5
|
||||
UNINST_KEY_SERVER=AFS Server
|
||||
VIEW_README_PROMPT_MSG=View the readme file
|
||||
INSTALL_LIGHT_CLIENT_MSG=AFS Light Client
|
||||
PRODUCT_VERSION_TITLE=1.0 4.01
|
||||
UNINST_DISPLAY_NAME_CC=AFS Control Center 1.0 4.01
|
||||
PRODUCT_VERSION_TITLE=%5
|
||||
UNINST_DISPLAY_NAME_CC=AFS Control Center %5
|
||||
ERROR_FILEGROUP=File Group:
|
||||
ERROR_MOVEDATA=An error occurred during the move data process: %d
|
||||
CONFIGURING_AFS_SERVER_SERVICE=Configuring the AFS Server service
|
||||
CLIENT_DESC=AFS Client
|
||||
SET_NETWORK_PROVIDER_ERROR=Unable to configure the AFS Client as a Network Provider.
|
||||
PRODUCT_VERSION_MAJOR=1
|
||||
UNINST_DISPLAY_NAME_SERVER=AFS Server 1.0 4.01
|
||||
PRODUCT_VERSION_MAJOR=%1
|
||||
UNINST_DISPLAY_NAME_SERVER=AFS Server %5
|
||||
SETUPUTILS_NOT_FOUND=The file InstallUtils.dll could not be loaded. Setup cannot continue.
|
||||
LIGHT_CLIENT_ALREADY_INSTALLED_MSG=AFS Light is already installed on this computer.
|
||||
SETUP_TYPE_MSG=Select the AFS® for Windows products that you wish to install:
|
||||
@ -68,13 +73,13 @@ UNINST_KEY_CC=AFS Control Center
|
||||
UNINST_KEY_CLIENT=AFS Client
|
||||
UPGRADE_DOCS_MSG=Upgrade AFS Supplemental Documentation
|
||||
DOWNGRADE_PREP_MSG=Preparing to downgrade the %s. Please wait...this may be a lengthy process.
|
||||
PRODUCT_VERSION_PATCH_LEVEL=401
|
||||
PRODUCT_VERSION_PATCH_LEVEL=%3%4
|
||||
NON_UPGRADABLE_SOFTWARE_INSTALLED_ERROR_MSG=Non-upgradable versions of this product are installed on your computer. These \nversions must be uninstalled before the current versions can be installed.
|
||||
CANT_INSTALL_BOTH_CLIENTS_MSG=Please select only one of the AFS Clients to install. You cannot install both.
|
||||
UNINST_KEY_LIGHT_CLIENT=AFS Light
|
||||
UPGRADE_LIGHT_CLIENT_MSG=Upgrade AFS Light Client
|
||||
UNINST_KEY_DOCS=AFS Supplemental Documentation
|
||||
UNINST_DISPLAY_NAME_CLIENT=AFS Client 1.0 4.01
|
||||
UNINST_DISPLAY_NAME_CLIENT=AFS Client %5
|
||||
REINSTALL_DOCS_MSG=Reinstall AFS Supplemental Documentation
|
||||
UPGRADE_PREP_MSG=Preparing to upgrade the %s. Please wait...this may be a lengthy process.
|
||||
MUST_BE_AN_ADMIN_MSG=You must be a member of the local Administrators group on this Windows system in order to install this product.
|
File diff suppressed because it is too large
Load Diff
@ -5,8 +5,6 @@
|
||||
# License. For details, see the LICENSE file in the top-level source
|
||||
# directory or online at http://www.openafs.org/dl/license10.html
|
||||
|
||||
|
||||
|
||||
!INCLUDE ..\..\..\config\NTMakefile.$(SYS_NAME)
|
||||
!INCLUDE ..\..\..\config\NTMakefile.version
|
||||
OUTDIR = $(DESTDIR)\WinInstall
|
||||
@ -16,7 +14,6 @@ OUTDIR = $(DESTDIR)\WinInstall
|
||||
COMPONENTS = \
|
||||
INSTALL.BAT \
|
||||
afsd.pif \
|
||||
cellservdb \
|
||||
readme.RTF \
|
||||
license.txt \
|
||||
templet.reg \
|
||||
@ -37,8 +34,8 @@ COMPONENTS = \
|
||||
$(DESTDIR)\lib\win95\pthread.dll \
|
||||
$(DESTDIR)\lib\afsrpc.dll
|
||||
|
||||
$(COMPONENTS)::
|
||||
$(DESTDIR)\bin\util_cr.exe ~ $@ "Missing $@"
|
||||
$(COMPONENTS)::
|
||||
$(DESTDIR)\bin\util_cr.exe ~ $@
|
||||
$(COPY) $@ $(DESTDIR)\WinInstall\.
|
||||
|
||||
!IF (EXIST(ISBUILD.MAK))
|
||||
@ -57,6 +54,6 @@ clean ::
|
||||
$(DEL) $(OUTDIR)\DiskIm~1\WebInstall\*
|
||||
|
||||
prep :
|
||||
$(DESTDIR)\bin\util_cr.exe ~ "$(DESTDIR)\WinInstall\sock.vxd" "SOCK.VXD is missing from $(DESTDIR)\WinInstall\."
|
||||
$(DESTDIR)\bin\util_cr.exe ~ "$(DESTDIR)\WinInstall\MMAP.vxd" "MMAP.VXD is missing from $(DESTDIR)\WinInstall\."
|
||||
$(DESTDIR)\bin\util_cr.exe ~ "$(DESTDIR)\WinInstall\AFSD.EXE" "AFSD.EXE is missing from $(DESTDIR)\WinInstall\."
|
||||
$(DESTDIR)\bin\util_cr.exe ~ "$(DESTDIR)\WinInstall\sock.vxd"
|
||||
$(DESTDIR)\bin\util_cr.exe ~ "$(DESTDIR)\WinInstall\MMAP.vxd"
|
||||
$(DESTDIR)\bin\util_cr.exe ~ "$(DESTDIR)\WinInstall\AFSD.EXE"
|
||||
|
22
src/WINNT/install/Win9x/setup.iss
Normal file
22
src/WINNT/install/Win9x/setup.iss
Normal file
@ -0,0 +1,22 @@
|
||||
[InstallShield Silent]
|
||||
Version=v6.00.000
|
||||
File=Response File
|
||||
|
||||
[File Transfer]
|
||||
OverwrittenReadOnly=NoToAll
|
||||
|
||||
[{EA711160-C786-11D3-A374-00105A6BCA4C}-DlgOrder]
|
||||
Dlg0={EA711160-C786-11D3-A374-00105A6BCA4C}-SdWelcome-0
|
||||
Count=3
|
||||
Dlg1={EA711160-C786-11D3-A374-00105A6BCA4C}-SdAskDestPath-0
|
||||
Dlg2={EA711160-C786-11D3-A374-00105A6BCA4C}-SprintfBox-0
|
||||
|
||||
[{EA711160-C786-11D3-A374-00105A6BCA4C}-SdWelcome-0]
|
||||
Result=1
|
||||
|
||||
[{EA711160-C786-11D3-A374-00105A6BCA4C}-SdAskDestPath-0]
|
||||
szDir=C:\afs cli
|
||||
Result=1
|
||||
|
||||
[{EA711160-C786-11D3-A374-00105A6BCA4C}-SprintfBox-0]
|
||||
Result=6
|
@ -164,14 +164,27 @@ BOOL CAfs::Create(CString &msg,CString sCompName,PROCESS_INFORMATION &procInfo)
|
||||
/*DETACHED_PROCESS |*/ CREATE_NEW_CONSOLE | HIGH_PRIORITY_CLASS /*NORMAL_PRIORITY_CLASS*/,
|
||||
NULL, NULL, &m_startUpInfo, &procInfo);
|
||||
|
||||
LOG("AFSD Creation done - wait for notification");
|
||||
if (!rc) {
|
||||
msg.Format("Error creating AFS Client Console process, Status=0x%0x", GetLastError());
|
||||
LPVOID lpMsgBuf;
|
||||
FormatMessage(
|
||||
FORMAT_MESSAGE_ALLOCATE_BUFFER |
|
||||
FORMAT_MESSAGE_FROM_SYSTEM |
|
||||
FORMAT_MESSAGE_IGNORE_INSERTS,
|
||||
NULL,
|
||||
GetLastError(),
|
||||
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
|
||||
(LPTSTR) &lpMsgBuf,
|
||||
0,
|
||||
NULL
|
||||
);
|
||||
msg.Format("Error creating AFS Client Console process, Status=%s.",lpMsgBuf);
|
||||
return FALSE;
|
||||
}
|
||||
LOG("AFSD Creation done - wait for notification");
|
||||
WPARAM wp;
|
||||
CWINAFSLOADAPP->WaitForEvent(logintime*1000,&wp,&msg);
|
||||
switch (wp)
|
||||
|
||||
{
|
||||
case AFS_EXITCODE_NORMAL:
|
||||
// extract machine name for logon
|
||||
@ -360,6 +373,7 @@ BOOL CAfs::StartExployer(CString &msg,const char *udrive)
|
||||
int code;
|
||||
WIN32_FIND_DATA FileData;
|
||||
CString dir;
|
||||
if ((udrive==NULL) || (strlen(udrive)==0)) return TRUE;
|
||||
dir.Format("%s\\*",udrive);
|
||||
HANDLE hFile= FindFirstFile(
|
||||
dir, // file name
|
||||
|
@ -118,10 +118,6 @@ BOOL CChange::OnInitDialog()
|
||||
szDrive[3]='*';
|
||||
m_cDrive.SetCurSel(m_cDrive.FindString(0,szDrive));
|
||||
}
|
||||
if (stricmp(m_sDescription,"all")) return TRUE;
|
||||
m_cPath.ModifyStyle(0,WS_DISABLED);
|
||||
m_cShare.ModifyStyle(0,WS_DISABLED);
|
||||
m_cAuto.ModifyStyle(0,WS_DISABLED);
|
||||
return TRUE; // return TRUE unless you set the focus to a control
|
||||
// EXCEPTION: OCX Property Pages should return FALSE
|
||||
}
|
||||
@ -159,8 +155,6 @@ BOOL CChange::IsValidSubmountName (LPCTSTR pszSubmount)
|
||||
{
|
||||
if (!*pszSubmount)
|
||||
return FALSE;
|
||||
if (stricmp(pszSubmount,"all")==0)
|
||||
return FALSE; //disallow adding a share name of "all"
|
||||
for ( ; *pszSubmount; ++pszSubmount)
|
||||
{
|
||||
if (!isprint(*pszSubmount))
|
||||
|
@ -48,7 +48,8 @@ RSC=rc.exe
|
||||
HLPDIR= .\HELP
|
||||
|
||||
prep :
|
||||
$(DESTDIR)\bin\util_cr.exe ~ "$(MSSDK)\Include\windows.h" "MSSDK must point to SDK include headers "
|
||||
$(DESTDIR)\bin\util_cr.exe ~ "$(MSSDK)\Include\windows.h" "Enviornment variable MSSDK must point to SDK"
|
||||
|
||||
|
||||
!IF "$(AFSDEV_BUILDTYPE)" == "FREE"
|
||||
|
||||
@ -76,7 +77,7 @@ CPP_PROJ=/nologo /MD /W3 /GX /O2 \
|
||||
/D "NDEBUG" /D "_MFC" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_WINNT" /D "_AFXDLL" /D "ENCRIPT" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
|
||||
|
||||
MTL_PROJ=/nologo /D "NDEBUG" /mktyplib203 /win32
|
||||
RSC_PROJ=/l 0x409 /fo"$(INTDIR)\WinAfsLoad.res" $(AFSD_INC_MFC) /d "NDEBUG" /d "_AFXDLL"
|
||||
RSC_PROJ=/l 0x409 /fo"$(INTDIR)\WinAfsLoad.res" $(AFSD_INC_MFC) /d "AFSPRODUCT_VERSION=\"$(AFSPRODUCT_VERSION)\"" /d "NDEBUG" /d "_AFXDLL"
|
||||
BSC32=bscmake.exe
|
||||
BSC32_FLAGS=/nologo /o"$(INTDIR)\WinAfsLoad.bsc"
|
||||
BSC32_SBRS= \
|
||||
@ -137,7 +138,7 @@ CPP_PROJ=/nologo /MDd /W3 /Gm /GX /ZI /Od \
|
||||
/D "_DEBUG" /D "WIN32_LEAN_AND_MEAN" /D _WIN32_IE=0x0400 /D "TESTBUTTONS" /D "_MFC" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_WINNT" /D "_AFXDLL" /D "ENCRIPT" /D "NOKNOK" /Yu"stdafx.h" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
|
||||
|
||||
MTL_PROJ=/nologo /D "_DEBUG" /mktyplib203 /win32
|
||||
RSC_PROJ=/l 0x409 /fo"$(INTDIR)\WinAfsLoad.res" $(AFSD_INC_MFC) /d "_DEBUG" /d "_AFXDLL"
|
||||
RSC_PROJ=/l 0x409 /fo"$(INTDIR)\WinAfsLoad.res" $(AFSD_INC_MFC) /d "AFSPRODUCT_VERSION=\"$(AFSPRODUCT_VERSION)\"" /d "_DEBUG" /d "_AFXDLL"
|
||||
BSC32=bscmake.exe
|
||||
BSC32_FLAGS=/nologo /o"$(INTDIR)\WinAfsLoad.bsc"
|
||||
BSC32_SBRS= \
|
||||
|
@ -154,6 +154,7 @@ BOOL CWinAfsLoadApp::InitInstance()
|
||||
// show userid: password: connect
|
||||
CharLower(m_lpCmdLine);
|
||||
m_bShowAfs=(strstr(m_lpCmdLine,"show")!=NULL);
|
||||
m_bConnect=(strstr(m_lpCmdLine,"connect")!=NULL);
|
||||
if (m_bLogWindow)
|
||||
ShowLog(TRUE);
|
||||
if (m_bLog)
|
||||
@ -170,7 +171,7 @@ BOOL CWinAfsLoadApp::InitInstance()
|
||||
{
|
||||
cPassWord=(strstr(str,":"));
|
||||
}
|
||||
// BOOL bConnect=(strstr(m_lpCmdLine,"connect")!=NULL);
|
||||
m_bNoID=(strstr(m_lpCmdLine,"noid")!=NULL);
|
||||
|
||||
if (m_hAfsLoadFinish) // SOME REASON THE WINDOW WAS NOT SHUT DOWN, SO LETES KILL IT
|
||||
{
|
||||
|
@ -83,9 +83,7 @@ public:
|
||||
UINT m_uEvent;
|
||||
UINT m_uNotifyMessage;
|
||||
WPARAM m_wParam;
|
||||
#if NOKNOK
|
||||
BOOL m_bNokNok;
|
||||
#endif
|
||||
BOOL m_bNoID;
|
||||
|
||||
//{{AFX_MSG(CWinAfsLoadApp)
|
||||
//}}AFX_MSG
|
||||
|
@ -1,19 +1,16 @@
|
||||
//generated resource script.
|
||||
//Microsoft Developer Studio generated resource script.
|
||||
//
|
||||
/* Copyright 2000, International Business Machines Corporation and others.
|
||||
All Rights Reserved.
|
||||
|
||||
This software has been released under the terms of the IBM Public
|
||||
License. For details, see the LICENSE file in the top-level source
|
||||
directory or online at http://www.openafs.org/dl/license10.html
|
||||
*/
|
||||
|
||||
#include "resource.h"
|
||||
|
||||
// Generated Help ID header file
|
||||
#define APSTUDIO_HIDDEN_SYMBOLS
|
||||
//#include "resource.hm"
|
||||
#undef APSTUDIO_HIDDEN_SYMBOLS
|
||||
|
||||
#define APSTUDIO_READONLY_SYMBOLS
|
||||
// Microsoft Developer Studio generated Help ID include file.
|
||||
// Used by WinAfsLoad.rc
|
||||
//
|
||||
#define HIDC_STATIC 0x80fcffff // IDD_SETTINGS
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
@ -63,6 +60,7 @@ BEGIN
|
||||
"LANGUAGE 9, 1\r\n"
|
||||
"#pragma code_page(1252)\r\n"
|
||||
"#endif //_WIN32\r\n"
|
||||
"#include ""res\\WinAfsLoad.rc2"" // non-Microsoft Visual C++ edited resources\r\n"
|
||||
"#include ""afxres.rc"" // Standard components\r\n"
|
||||
"#endif\r\n"
|
||||
"\0"
|
||||
@ -265,7 +263,7 @@ END
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 1,0,0,1
|
||||
PRODUCTVERSION 2,0,0,0
|
||||
PRODUCTVERSION 1,0,4,0
|
||||
FILEFLAGSMASK 0x3fL
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
@ -290,7 +288,7 @@ BEGIN
|
||||
VALUE "OriginalFilename", "WinAfsLoad.EXE\0"
|
||||
VALUE "PrivateBuild", "\0"
|
||||
VALUE "ProductName", "WinAfsLoad Application\0"
|
||||
VALUE "ProductVersion", "2, 0, 0, 0\0"
|
||||
VALUE "ProductVersion", AFSPRODUCT_VERSION,"\0"
|
||||
VALUE "SpecialBuild", "\0"
|
||||
END
|
||||
END
|
||||
@ -493,6 +491,10 @@ BEGIN
|
||||
IDH_ADD "HELP ADD"
|
||||
IDH_CHANGE "Help Change"
|
||||
IDH_MAIN "Help Main"
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDM_CLEAR "Clear Window"
|
||||
END
|
||||
|
||||
@ -532,6 +534,7 @@ LANGUAGE 9, 1
|
||||
#pragma code_page(1252)
|
||||
#endif //_WIN32
|
||||
#include "afxres.rc" // Standard components
|
||||
//#include "res\WinAfsLoad.rc2" // non-Microsoft Visual C++ edited resources
|
||||
#endif
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -333,6 +333,7 @@ BOOL CWinAfsLoadDlg::OnInitDialog()
|
||||
LOG("ADVAPI32 %d.%d",(vernum>>16) & 0xff,vernum & 0xff);
|
||||
m_pEncript = (CEncript *)new CEncript(this);
|
||||
|
||||
|
||||
// initiallze AFS and setup Progress display
|
||||
if (!m_cAfs.Init(this,msg))
|
||||
HandleError(msg);
|
||||
@ -341,7 +342,11 @@ BOOL CWinAfsLoadDlg::OnInitDialog()
|
||||
EnableToolTips(TRUE);
|
||||
|
||||
m_bServiceIsActive=FALSE;
|
||||
SetWindowText(AFSTITLE);
|
||||
// Obtain Version String
|
||||
CRegkey key(HKEY_LOCAL_MACHINE,"Software\\Open AFS\\AFS Control Center","CurrentVersion");
|
||||
key.GetString("VersionString",m_VersionString,128);
|
||||
msg.Format("%s %s",AFSTITLE,m_VersionString);
|
||||
SetWindowText(msg);
|
||||
|
||||
UpdateData(TRUE);
|
||||
|
||||
@ -349,7 +354,6 @@ BOOL CWinAfsLoadDlg::OnInitDialog()
|
||||
m_sComputername=compName;
|
||||
m_sMountDisplay.Format("Connected Drives on Computer:%s",compName);
|
||||
m_sUsername="";
|
||||
m_bHomepath=FALSE;
|
||||
CRect rect;
|
||||
GetWindowRect(&m_OriginalRect);
|
||||
m_cOptionLine.GetWindowRect(&rect);
|
||||
@ -366,28 +370,41 @@ BOOL CWinAfsLoadDlg::OnInitDialog()
|
||||
}
|
||||
CHAR pLoginName[UNLEN + 1];
|
||||
size=UNLEN;
|
||||
if (GetUserName(pLoginName,&size))
|
||||
m_sLoginName=pLoginName;
|
||||
else
|
||||
m_sLoginName="Bozo";
|
||||
CString sUser,sPass;
|
||||
RegPassword(sUser,sPass,TRUE);
|
||||
if ((m_sUsername=="") || (m_sLoginName.IsEmpty()))
|
||||
if (CWINAFSLOADAPP->m_bNoID)
|
||||
{
|
||||
m_sUsername=sUser;
|
||||
CWnd *w=GetDlgItem(IDC_USERNAME);
|
||||
w->EnableWindow(FALSE);
|
||||
w=GetDlgItem(IDC_PASSWORD);
|
||||
w->EnableWindow(FALSE);
|
||||
w=GetDlgItem(IDC_SAVEUSERNAME);
|
||||
w->EnableWindow(FALSE);
|
||||
} else {
|
||||
if (GetUserName(pLoginName,&size))
|
||||
{
|
||||
m_sLoginName=pLoginName;
|
||||
} else
|
||||
m_sLoginName="Bozo";
|
||||
CString sUser,sPass;
|
||||
RegPassword(sUser,sPass,TRUE);
|
||||
if (m_sUsername=="")
|
||||
{
|
||||
m_sUsername=sUser;
|
||||
}
|
||||
if ((m_sUsername=="") && (m_sLoginName!="Bozo"))
|
||||
{
|
||||
m_sUsername=m_sLoginName;
|
||||
}
|
||||
if ((m_sPassword=="") || (m_sPassword.IsEmpty()))
|
||||
{
|
||||
m_sPassword=sPass;
|
||||
}
|
||||
if (m_sPassword.IsEmpty())
|
||||
{
|
||||
m_cSaveUsername.SetCheck(FALSE);
|
||||
RegLastUser(m_sUsername,TRUE);
|
||||
} else
|
||||
m_cSaveUsername.SetCheck(TRUE);
|
||||
}
|
||||
if ((m_sPassword=="") || (m_sPassword.IsEmpty()))
|
||||
{
|
||||
m_sPassword=sPass;
|
||||
}
|
||||
|
||||
if (m_sPassword.IsEmpty())
|
||||
{
|
||||
m_cSaveUsername.SetCheck(FALSE);
|
||||
RegLastUser(m_sUsername,TRUE);
|
||||
} else
|
||||
m_cSaveUsername.SetCheck(TRUE);
|
||||
|
||||
// Initialize mount control list
|
||||
|
||||
m_pImagelist = new CImageList();
|
||||
@ -621,13 +638,30 @@ void CWinAfsLoadDlg::OnSysCommand(UINT nID, LPARAM lParam)
|
||||
BYTE *lpData=(BYTE *)new BYTE[rc];
|
||||
if (GetFileVersionInfo(wdir,wHandle,rc,lpData))
|
||||
{
|
||||
VS_FIXEDFILEINFO *pver;
|
||||
UINT len;
|
||||
if (VerQueryValue(lpData,"\\",(PVOID *)&pver,&len))
|
||||
{
|
||||
dlgAbout.m_sVersion.Format("WinAFSload Version %d.%d.%d",(pver->dwProductVersionMS>>16) &0xff ,pver->dwProductVersionMS & 0xff,(pver->dwProductVersionLS>>16) &0xff );
|
||||
struct TRANSLATION {
|
||||
WORD langID; // language ID
|
||||
WORD charset; // character set (code page)
|
||||
};
|
||||
CString msg;
|
||||
TRANSLATION mTrans,* pTrans;
|
||||
if (VerQueryValue(lpData,
|
||||
"\\VarFileInfo\\Translation", (PVOID *)&pTrans, &len) && len >= 4) {
|
||||
mTrans = *pTrans;
|
||||
TRACE("code page = %d\n", mTrans.charset);
|
||||
}
|
||||
LPCTSTR pVal;
|
||||
UINT iLenVal;
|
||||
CString query;
|
||||
query.Format(_T("\\StringFileInfo\\%04x%04x\\%s"),
|
||||
mTrans.langID,
|
||||
mTrans.charset,
|
||||
_T("ProductVersion"));
|
||||
if (VerQueryValue(lpData, (LPTSTR)(LPCTSTR)query,
|
||||
(LPVOID*)&pVal, &iLenVal)) {
|
||||
// dlgAbout.m_sVersion.Format("WinAFSload Version %s",pVal);
|
||||
}
|
||||
}
|
||||
}
|
||||
delete lpData;
|
||||
}
|
||||
dlgAbout.DoModal();
|
||||
@ -721,17 +755,20 @@ void CWinAfsLoadDlg::OnConnect()
|
||||
return;
|
||||
}
|
||||
CCancel cancel(m_bConnect,FALSE); //clear m_bConnect when connection done
|
||||
if (m_sUsername.IsEmpty() || m_sPassword.IsEmpty())
|
||||
if ( // if username is present then must have password
|
||||
IsGetTokens()
|
||||
&& (m_sPassword=="")
|
||||
)
|
||||
{
|
||||
HandleError("You must enter a username and password!");
|
||||
if (m_sUsername.IsEmpty()) m_cUsername.SetFocus();
|
||||
else m_cPassword.SetFocus();
|
||||
HandleError("You must enter a password!");
|
||||
m_cPassword.SetFocus();
|
||||
return;
|
||||
}
|
||||
CProgress progress(this,7);
|
||||
progress.Next();
|
||||
if (!m_cAfs.Create(msg,m_sComputername,m_procInfo))
|
||||
{
|
||||
progress.Finish();
|
||||
HandleError(msg);
|
||||
m_procInfo.hThread=0;
|
||||
return;
|
||||
@ -739,12 +776,13 @@ void CWinAfsLoadDlg::OnConnect()
|
||||
// CWINAFSLOADAPP->m_sMsg contains the host name used for login
|
||||
LOG("AFS Client Console started successfully [%s].",(const char *)m_sComputername);
|
||||
CString sDrive;
|
||||
// lets find the All
|
||||
|
||||
CString sKey;
|
||||
int iMounted=-1;
|
||||
for (int iItem=0;iItem<m_cMountlist.GetItemCount();iItem++)
|
||||
{
|
||||
sKey = m_cMountlist.GetItemText(iItem,COLSHARE);
|
||||
if (stricmp(sKey,"all")!=0) continue;
|
||||
if (stricmp(sKey,"all")!=0) continue; // lets find the All first
|
||||
CString sAuto(m_cMountlist.GetItemText(iItem,COLAUTO));
|
||||
if (sAuto!="*")
|
||||
continue;
|
||||
@ -754,34 +792,70 @@ void CWinAfsLoadDlg::OnConnect()
|
||||
{
|
||||
m_cMountlist.SetCheck(iItem,TRUE);
|
||||
AddMenu(sDrive,sKey);
|
||||
iMounted=iItem;
|
||||
} else {
|
||||
CString msg2;
|
||||
m_cAfs.Shutdown(msg2);
|
||||
m_procInfo.hThread=0;
|
||||
msg2.Format("Connect can't continue: %s",msg);
|
||||
progress.Finish();
|
||||
HandleError(msg2);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
}
|
||||
if (stricmp(sKey,"all")!=0){
|
||||
m_cAfs.Shutdown(msg);
|
||||
m_procInfo.hThread=0;
|
||||
msg="Connect can't continue, 'all' path not defined";
|
||||
HandleError(msg);
|
||||
return;
|
||||
if (iMounted<0){
|
||||
// Scan for any other connection
|
||||
for (int iItem=0;iItem<m_cMountlist.GetItemCount();iItem++)
|
||||
{
|
||||
CString sAuto(m_cMountlist.GetItemText(iItem,COLAUTO));
|
||||
if (sAuto!="*")
|
||||
continue;
|
||||
sDrive=m_cMountlist.GetItemText(iItem,COLDRIVE);
|
||||
LOG("Connect %s %s",sDrive,sKey);
|
||||
if (m_cAfs.Mount(msg,sDrive,sKey))
|
||||
{
|
||||
m_cMountlist.SetCheck(iItem,TRUE);
|
||||
AddMenu(sDrive,sKey);
|
||||
iMounted=iItem;
|
||||
} else {
|
||||
CString msg2;
|
||||
m_cAfs.Shutdown(msg2);
|
||||
m_procInfo.hThread=0;
|
||||
msg2.Format("Connect can't continue: %s",msg);
|
||||
progress.Finish();
|
||||
HandleError(msg2);
|
||||
return;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
progress.Next();
|
||||
if (!m_cAfs.Authencate(msg,m_sUsername,m_sPassword))
|
||||
if (IsGetTokens())
|
||||
{
|
||||
CString msg2;
|
||||
m_cAfs.Dismount(msg2,sDrive,TRUE);
|
||||
m_cMountlist.SetCheck(iItem,FALSE);
|
||||
RemoveMenu(sDrive);
|
||||
m_cAfs.Shutdown(msg2);
|
||||
m_procInfo.hThread=0;
|
||||
HandleError(msg);
|
||||
return;
|
||||
#if 0
|
||||
if (iMounted<0) //have we mounted at least one drive
|
||||
{
|
||||
m_cAfs.Shutdown(msg);
|
||||
m_procInfo.hThread=0;
|
||||
msg="Connect can't continue, mountable drive not defined";
|
||||
progress.Finish();
|
||||
HandleError(msg);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
if (!m_cAfs.Authencate(msg,m_sUsername,m_sPassword))
|
||||
{
|
||||
CString msg2;
|
||||
m_cAfs.Dismount(msg2,sDrive,TRUE);
|
||||
m_cMountlist.SetCheck(iItem,FALSE);
|
||||
RemoveMenu(sDrive);
|
||||
m_cAfs.Shutdown(msg2);
|
||||
m_procInfo.hThread=0;
|
||||
progress.Finish();
|
||||
HandleError(msg);
|
||||
return;
|
||||
}
|
||||
}
|
||||
progress.Next();
|
||||
// scan through the list for any additional items to connect
|
||||
@ -789,7 +863,7 @@ void CWinAfsLoadDlg::OnConnect()
|
||||
for (iItem=0;iItem<m_cMountlist.GetItemCount();iItem++)
|
||||
{
|
||||
CString sKey(m_cMountlist.GetItemText(iItem,COLSHARE));
|
||||
if (stricmp(sKey,"all")==0) continue;
|
||||
if (iItem==iMounted) continue;
|
||||
CString sAuto(m_cMountlist.GetItemText(iItem,COLAUTO));
|
||||
if (sAuto!="*")
|
||||
continue;
|
||||
@ -1028,8 +1102,15 @@ void CWinAfsLoadDlg::UpdateConnect()
|
||||
m_cConnect.Invalidate();
|
||||
m_cCancel.SetWindowText("Cancel");
|
||||
m_cCancel.Invalidate();
|
||||
m_cAuthenicate.ModifyStyle(WS_DISABLED,0);
|
||||
m_cAuthenicate.Invalidate();
|
||||
if (!CWINAFSLOADAPP->m_bNoID)
|
||||
{
|
||||
m_cAuthenicate.ModifyStyle(WS_DISABLED,0);
|
||||
if (IsGetTokens())
|
||||
m_cAuthenicate.SetWindowText("ReAuthenicate");
|
||||
else //tokens are not gotten; allow authenication
|
||||
m_cAuthenicate.SetWindowText("Authenicate");
|
||||
m_cAuthenicate.Invalidate();
|
||||
}
|
||||
m_trayIcon.SetConnectState(0);
|
||||
return;
|
||||
}
|
||||
@ -1073,7 +1154,8 @@ void CWinAfsLoadDlg::OnTrayButton4()
|
||||
OnSysCommand(IDM_EXPLORERAFS+64, 0);
|
||||
}
|
||||
|
||||
#define MAXKEY (SHARENAMESIZE+1)*MAXSHARES
|
||||
#define MAXDRIVESIZE (SHARENAMESIZE+5)*MAXSHARES
|
||||
|
||||
BOOL CWinAfsLoadDlg::ProfileData(BOOL put)
|
||||
{
|
||||
CString dINI;
|
||||
@ -1106,7 +1188,6 @@ BOOL CWinAfsLoadDlg::ProfileData(BOOL put)
|
||||
dptr=dblock+dused;
|
||||
wsprintf(dptr,"%s=%s%s",sKey,sAuto,sDrive);
|
||||
dused+=len;
|
||||
if (stricmp(sKey,"all")==0) continue; //skip 'all' output
|
||||
len=sKey.GetLength()+sPath.GetLength()+2;
|
||||
if (sused+len>=scur)
|
||||
sblock=(char *)realloc(sblock,(scur+=BLOCKSIZE));
|
||||
@ -1121,91 +1202,41 @@ BOOL CWinAfsLoadDlg::ProfileData(BOOL put)
|
||||
WritePrivateProfileSection("AFS Drivemounts",dblock,dINI);
|
||||
delete dblock;
|
||||
delete sblock;
|
||||
} else {
|
||||
char sKey[MAXKEY+2];
|
||||
} else { //get
|
||||
char sShare[SHARENAMESIZE+1];
|
||||
CHAR sPath[MAX_PATH+1];
|
||||
CHAR sDriveMount[MAXDRIVESIZE+2];
|
||||
CHAR sDrive[DRIVESIZE+1];
|
||||
CHAR sAuto[AUTOSIZE+1];
|
||||
strcpy(sAuto," ");
|
||||
int len;
|
||||
CString path;
|
||||
int keylen=GetPrivateProfileString("AFS Submounts", NULL, "", sKey, MAXKEY,tINI);
|
||||
PCHAR pkey=sKey;
|
||||
if (keylen>=MAXKEY)
|
||||
{
|
||||
CString msg;
|
||||
msg.Format("Profile String Error - Too many entries (%d)",MAXSHARES);
|
||||
HandleError(msg,TRUE);
|
||||
return FALSE;
|
||||
}
|
||||
// lets scan for all and home first, we want to place them
|
||||
// lets scan for all and home first, we want to place them first
|
||||
//mode: 0=look for all, 1=look for home, 2=finish the rest
|
||||
for(int mode=0;mode<3;mode++)
|
||||
{
|
||||
while (keylen>1)
|
||||
int drivelen=GetPrivateProfileString("AFS Drivemounts", NULL, "", sDriveMount, MAXDRIVESIZE,dINI);
|
||||
if (drivelen>=MAXDRIVESIZE)
|
||||
{
|
||||
switch (mode)
|
||||
CString msg;
|
||||
msg.Format("Profile String Error - Too many entries (%d)",MAXSHARES);
|
||||
HandleError(msg,TRUE);
|
||||
return FALSE;
|
||||
}
|
||||
PCHAR pDrivekey=sDriveMount;
|
||||
while (drivelen>1)
|
||||
{
|
||||
if ((strlen(pDrivekey)==0) || (strlen(pDrivekey)>SHARENAMESIZE))
|
||||
{
|
||||
case 0: //we skip looking for all
|
||||
break;
|
||||
case 1:
|
||||
if (stricmp(pkey,"home")!=0)
|
||||
{
|
||||
keylen-=(strlen(pkey)+1);
|
||||
pkey+=(strlen(pkey)+1);
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
if((stricmp(pkey,"all")==0) || (stricmp(pkey,"home")==0))
|
||||
{
|
||||
keylen-=(strlen(pkey)+1);
|
||||
pkey+=(strlen(pkey)+1);
|
||||
continue;
|
||||
}
|
||||
break;
|
||||
}
|
||||
if (strlen(pkey)==0)
|
||||
{
|
||||
HandleError("Profile String Error - Empty key",FALSE);
|
||||
HandleError("Profile String Error - AFS Drivemounts - Share Name",FALSE);
|
||||
ret=FALSE;
|
||||
keylen-=(strlen(pkey)+1);
|
||||
continue;
|
||||
break;
|
||||
}
|
||||
if (mode!=0)
|
||||
strcpy(sShare,pDrivekey);
|
||||
if (GetPrivateProfileString("AFS Drivemounts", sShare, "", sDrive, DRIVESIZE,dINI)==0)
|
||||
{
|
||||
if ((len=GetPrivateProfileString("AFS Submounts", pkey, "", sPath, MAX_PATH,tINI))==0)
|
||||
{
|
||||
CString msg;
|
||||
msg.Format("Profile String Error on Submount key:%s",pkey);
|
||||
HandleError(msg,FALSE);
|
||||
ret=FALSE;
|
||||
keylen-=(strlen(pkey)+1);
|
||||
pkey+=(strlen(pkey)+1);
|
||||
continue;
|
||||
}
|
||||
} else {
|
||||
strcpy(sPath,"\\");
|
||||
pkey="all";
|
||||
}
|
||||
*sDrive=0;
|
||||
if ((len=GetPrivateProfileString("AFS Drivemounts", pkey, "", sDrive, DRIVESIZE,dINI))==0)
|
||||
{
|
||||
if ((stricmp("all",pkey)==0)||(stricmp("home",pkey)==0))
|
||||
{// allow for no drive id on home
|
||||
if (stricmp("home",pkey)==0)
|
||||
strcpy(sDrive,"*U");
|
||||
else
|
||||
strcpy(sDrive,"*Z");
|
||||
} else {
|
||||
CString msg;
|
||||
msg.Format("Profile String Error on Path key:%s",pkey);
|
||||
HandleError(msg,TRUE);
|
||||
ret=FALSE;
|
||||
keylen-=(strlen(pkey)+1);
|
||||
pkey+=(strlen(pkey)+1);
|
||||
continue;
|
||||
}
|
||||
HandleError("Profile String Error - AFS Drivemounts - Drive Name",FALSE);
|
||||
ret=FALSE;
|
||||
break;
|
||||
}
|
||||
if (sDrive[0]=='*') //test for leading *
|
||||
{
|
||||
@ -1215,46 +1246,53 @@ BOOL CWinAfsLoadDlg::ProfileData(BOOL put)
|
||||
} else
|
||||
strcpy(sAuto," ");
|
||||
sDrive[1]=0; //force to be single character
|
||||
if (stricmp("home",pkey)==0) //force auto connect for home and all
|
||||
{
|
||||
m_bHomepath=TRUE;
|
||||
}
|
||||
strupr(sDrive);
|
||||
if ((strlen(sDrive)!=1)||(strspn(sDrive,"ABCDEFGHIJKLMNOPQRSTUVWXYZ")==0))
|
||||
if (strspn(sDrive,"DEFGHIJKLMNOPQRSTUVWXYZ")==0)
|
||||
{
|
||||
if (stricmp("home",pkey)==0)
|
||||
strcpy(sDrive,"U");
|
||||
else if (stricmp("all",pkey)==0)
|
||||
strcpy(sDrive,"Z");
|
||||
else
|
||||
strcpy(sDrive,"");
|
||||
HandleError("Profile String Error - AFS Drivemounts - Drive Letter",FALSE);
|
||||
ret=FALSE;
|
||||
break;
|
||||
}
|
||||
strcat(sDrive,":");
|
||||
if (mode==0)
|
||||
strcpy(sAuto,"*"); //no matter how it turns out 'all' is forced on.
|
||||
AddToList(sDrive,sPath,pkey,sAuto);
|
||||
if (mode<2) break;
|
||||
keylen-=(strlen(pkey)+1);
|
||||
pkey+=(strlen(pkey)+1);
|
||||
}
|
||||
switch (mode)
|
||||
{
|
||||
case 0:
|
||||
if (keylen<=1) //we never found "all"
|
||||
AddToList("Z:","\\","all","*");
|
||||
keylen=GetPrivateProfileString("AFS Submounts", NULL, "", sKey, MAXKEY,tINI);
|
||||
pkey=sKey;
|
||||
break;
|
||||
case 1:
|
||||
if (keylen<=1) //we never found "home"
|
||||
switch (mode)
|
||||
{
|
||||
case 0:
|
||||
if (stricmp("all",sShare)!=0) break;
|
||||
if (GetPrivateProfileString("AFS Submounts", sShare, "", sPath, MAX_PATH,tINI)==0)
|
||||
{
|
||||
strcpy(sPath,"/"); //none defined
|
||||
}
|
||||
AddToList(sDrive,sPath,sShare,sAuto);
|
||||
drivelen=0;
|
||||
continue;
|
||||
|
||||
case 1:
|
||||
if (stricmp("home",sShare)!=0) break;
|
||||
if (GetPrivateProfileString("AFS Submounts", sShare, "", sPath, MAX_PATH,tINI)==0)
|
||||
{
|
||||
HandleError("Profile String Error - AFS Drivemounts - Share Name",FALSE);
|
||||
ret=FALSE;
|
||||
break;
|
||||
}
|
||||
AddToList(sDrive,sPath,sShare,sAuto);
|
||||
drivelen=0;
|
||||
continue;
|
||||
default:
|
||||
if ((stricmp("all",sShare)==0)|| (stricmp("home",sShare)==0)) break;
|
||||
if (GetPrivateProfileString("AFS Submounts", sShare, "", sPath, MAX_PATH,tINI)==0)
|
||||
{
|
||||
HandleError("Profile String Error - AFS Drivemounts - Share Name",FALSE);
|
||||
ret=FALSE;
|
||||
break;
|
||||
}
|
||||
AddToList(sDrive,sPath,sShare,sAuto);
|
||||
break;
|
||||
keylen=GetPrivateProfileString("AFS Submounts", NULL, "", sKey, MAXKEY,tINI);
|
||||
pkey=sKey;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
drivelen-=(strlen(pDrivekey)+1);
|
||||
pDrivekey+=(strlen(pDrivekey)+1);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
@ -1359,11 +1397,13 @@ void CWinAfsLoadDlg::OnRemove()
|
||||
HandleError("You cannot remove Item from the list while connected!");
|
||||
continue;
|
||||
}
|
||||
#if 0
|
||||
if (stricmp(m_cMountlist.GetItemText(nItem,COLSHARE),"all")==0)
|
||||
{
|
||||
HandleError("You cannot remove 'All' Item from the list!");
|
||||
continue;
|
||||
}
|
||||
#endif
|
||||
m_cMountlist.DeleteItem(nItem);
|
||||
}
|
||||
ProfileData(TRUE);
|
||||
@ -1686,16 +1726,31 @@ void CWinAfsLoadDlg::OnAuthenicate()
|
||||
m_nShown=0;
|
||||
m_cAuthWarn.ShowWindow(SW_HIDE);
|
||||
LOG("Re-Authenication");
|
||||
if (m_sUsername=="")
|
||||
{
|
||||
HandleError("You must enter a user name!");
|
||||
m_cUsername.SetFocus();
|
||||
return;
|
||||
}
|
||||
if (m_sPassword=="")
|
||||
{
|
||||
HandleError("You must enter a password!");
|
||||
m_cPassword.SetFocus();
|
||||
return;
|
||||
}
|
||||
if (!m_cAfs.Authencate(msg,m_sUsername,m_sPassword))
|
||||
{
|
||||
HandleError(msg);
|
||||
return;
|
||||
}
|
||||
m_cAuthenicate.SetWindowText("ReAuthenicate");
|
||||
m_cAuthenicate.Invalidate();
|
||||
if (!m_cSaveUsername.GetCheck())
|
||||
{
|
||||
m_sPassword.Empty();
|
||||
UpdateData(FALSE);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -37,6 +37,7 @@ public:
|
||||
void OnShowAddMenus();
|
||||
LRESULT OnNotifyReturn(WPARAM wParam, LPARAM lParam);
|
||||
LRESULT OnAfsEvent(WPARAM wParam, LPARAM lParam);
|
||||
BOOL IsGetTokens(){return (!CWINAFSLOADAPP->m_bNoID) && (m_sUsername!="");}
|
||||
|
||||
// Dialog Data
|
||||
//{{AFX_DATA(CWinAfsLoadDlg)
|
||||
@ -72,6 +73,7 @@ public:
|
||||
|
||||
// Implementation
|
||||
protected:
|
||||
CString m_VersionString;
|
||||
CAfs m_cAfs;
|
||||
CTrayIcon m_trayIcon; // my tray icon
|
||||
HICON m_hIcon;
|
||||
|
@ -13,13 +13,14 @@
|
||||
#define DOSTITLEFINISH "Finished - AFS Client Console"
|
||||
#define APPTITLE "AFS"
|
||||
#define APPTITLEFINISH "Finished - AFSD"
|
||||
#ifdef _DEBUG
|
||||
#define CMDLINE "AFSD.PIF -startup"
|
||||
//#define CMDLINE ".//debug//AFSD.EXE -startup"
|
||||
#else
|
||||
#ifdef DEV_IDE
|
||||
#ifdef _DEBUG
|
||||
#define CMDLINE "AFSD.EXE -startup"
|
||||
//#define CMDLINE "AFSD.PIF -startup"
|
||||
//#define CMDLINE "AFSD.EXE"
|
||||
#else
|
||||
#define CMDLINE ".//release//AFSD.EXE -startup"
|
||||
#endif
|
||||
#else
|
||||
#define CMDLINE "AFSD.PIF -startup"
|
||||
#endif
|
||||
|
||||
#ifndef __CAFS__
|
||||
|
@ -65,6 +65,9 @@ idirs: doclink
|
||||
! IF (!EXIST($(DESTDIR)\WinInstall))
|
||||
$(MKDIR) $(DESTDIR)\WinInstall
|
||||
! ENDIF
|
||||
! IF (!EXIST($(DESTDIR)\WinInstall\Config))
|
||||
$(MKDIR) $(DESTDIR)\WinInstall\Config
|
||||
! ENDIF
|
||||
! IF (!EXIST($(DESTDIR)\root.server))
|
||||
$(MKDIR) $(DESTDIR)\root.server
|
||||
! ENDIF
|
||||
@ -89,6 +92,7 @@ idirs: doclink
|
||||
! IF (!EXIST($(DESTDIR)\root.client\usr\vice\etc))
|
||||
$(MKDIR) $(DESTDIR)\root.client\usr\vice\etc
|
||||
! ENDIF
|
||||
$(COPY) AFSCONFIG-WINDOWS.H $(DESTDIR)\include\afs\.
|
||||
|
||||
INCCOPY = \
|
||||
$(DESTDIR)\bin\rmbat.bat \
|
||||
|
@ -36,6 +36,12 @@
|
||||
APPVER = 4.0
|
||||
!ENDIF
|
||||
|
||||
#define used in WinNT/2000 installation and program version display
|
||||
AFSPRODUCT_VERSION=1.1.1 a
|
||||
CELLNAME_DEFAULT=Your Cell Name
|
||||
CELLSERVDB_INSTALL=CellServDB.GrandCentral
|
||||
CELLSERVDB_WEB=http://grand.central.org/dl/cellservdb/CellServDB
|
||||
|
||||
!IFNDEF TARGETOS
|
||||
TARGETOS = WINNT
|
||||
!ENDIF
|
||||
|
@ -36,6 +36,12 @@
|
||||
APPVER = 4.0
|
||||
!ENDIF
|
||||
|
||||
#define used in Win9x installation and program version display
|
||||
AFSPRODUCT_VERSION=1.1.1 a
|
||||
CELLNAME_DEFAULT=Your Cell Name
|
||||
CELLSERVDB_INSTALL=CellServDB.GrandCentral
|
||||
CELLSERVDB_WEB=http://grand.central.org/dl/cellservdb/CellServDB
|
||||
|
||||
!IFNDEF TARGETOS
|
||||
TARGETOS = WIN95
|
||||
#TARGETOS = WINNT
|
||||
|
223
src/config/afsconfig-windows.h
Normal file
223
src/config/afsconfig-windows.h
Normal file
@ -0,0 +1,223 @@
|
||||
/* src/config/afsconfig.h.in. Generated automatically from configure.in by autoheader. */
|
||||
/* Modified for Win2000 build*/
|
||||
|
||||
/* Define if on AIX 3.
|
||||
System headers sometimes define this.
|
||||
We just want to avoid a redefinition error message. */
|
||||
#ifndef _ALL_SOURCE
|
||||
#undef _ALL_SOURCE
|
||||
#endif
|
||||
|
||||
/* Define to empty if the keyword does not work. */
|
||||
#undef const
|
||||
|
||||
/* Define if you have <sys/wait.h> that is POSIX.1 compatible. */
|
||||
#undef HAVE_SYS_WAIT_H
|
||||
|
||||
/* Define as __inline if that's what the C compiler calls it. */
|
||||
#define inline __inline
|
||||
|
||||
/* Define if on MINIX. */
|
||||
#undef _MINIX
|
||||
|
||||
/* Define to `int' if <sys/types.h> doesn't define. */
|
||||
#undef pid_t
|
||||
|
||||
/* Define if the system does not provide POSIX.1 features except
|
||||
with this defined. */
|
||||
#undef _POSIX_1_SOURCE
|
||||
|
||||
/* Define if you need to in order for stat and other things to work. */
|
||||
#undef _POSIX_SOURCE
|
||||
|
||||
/* Define as the return type of signal handlers (int or void). */
|
||||
#undef RETSIGTYPE
|
||||
|
||||
/* Define to `unsigned' if <sys/types.h> doesn't define. */
|
||||
//#undef size_t unsigned int
|
||||
|
||||
/* Define if you have the ANSI C header files. */
|
||||
#undef STDC_HEADERS
|
||||
|
||||
/* Define if lex declares yytext as a char * by default, not a char[]. */
|
||||
#undef YYTEXT_POINTER
|
||||
|
||||
/* Define if you have the connect function. */
|
||||
#undef HAVE_CONNECT
|
||||
|
||||
/* Define if you have the getdtablesize function. */
|
||||
#undef HAVE_GETDTABLESIZE
|
||||
|
||||
/* Define if you have the gethostbyname function. */
|
||||
#define HAVE_GETHOSTBYNAME
|
||||
|
||||
/* Define if you have the random function. */
|
||||
#define HAVE_RANDOM
|
||||
|
||||
/* Define if you have the re_comp function. */
|
||||
#undef HAVE_RE_COMP
|
||||
|
||||
/* Define if you have the re_exec function. */
|
||||
#undef HAVE_RE_EXEC
|
||||
|
||||
/* Define if you have the res_search function. */
|
||||
#undef HAVE_RES_SEARCH
|
||||
|
||||
/* Define if you have the snprintf function. */
|
||||
#undef HAVE_SNPRINTF
|
||||
|
||||
/* Define if you have the socket function. */
|
||||
#define HAVE_SOCKET
|
||||
|
||||
/* Define if you have the srandom function. */
|
||||
#undef HAVE_SRANDOM
|
||||
|
||||
/* Define if you have the utimes function. */
|
||||
#define HAVE_UTIMES
|
||||
|
||||
/* Define if you have the <direct.h> header file. */
|
||||
#undef HAVE_DIRECT_H
|
||||
|
||||
/* Define if you have the <dirent.h> header file. */
|
||||
#undef HAVE_DIRENT_H
|
||||
|
||||
/* Define if you have the <fcntl.h> header file. */
|
||||
#define HAVE_FCNTL_H
|
||||
|
||||
/* Define if you have the <io.h> header file. */
|
||||
#define HAVE_IO_H
|
||||
|
||||
/* Define if you have the <malloc.h> header file. */
|
||||
#define HAVE_MALLOC_H
|
||||
|
||||
/* Define if you have the <mntent.h> header file. */
|
||||
#undef HAVE_MNTENT_H
|
||||
|
||||
/* Define if you have the <ndir.h> header file. */
|
||||
#undef HAVE_NDIR_H
|
||||
|
||||
/* Define if you have the <netdb.h> header file. */
|
||||
#undef HAVE_NETDB_H
|
||||
|
||||
/* Define if you have the <netinet/in.h> header file. */
|
||||
#undef HAVE_NETINET_IN_H
|
||||
|
||||
/* Define if you have the <security/pam_modules.h> header file. */
|
||||
#undef HAVE_SECURITY_PAM_MODULES_H
|
||||
|
||||
/* Define if you have the <siad.h> header file. */
|
||||
#undef HAVE_SIAD_H
|
||||
|
||||
/* Define if you have the <signal.h> header file. */
|
||||
#define HAVE_SIGNAL_H
|
||||
|
||||
/* Define if you have the <stdlib.h> header file. */
|
||||
#define HAVE_STDLIB_H
|
||||
|
||||
/* Define if you have the <string.h> header file. */
|
||||
#define HAVE_STRING_H
|
||||
|
||||
/* Define if you have the <strings.h> header file. */
|
||||
#undef HAVE_STRINGS_H
|
||||
|
||||
/* Define if you have the <sys/dir.h> header file. */
|
||||
#undef HAVE_SYS_DIR_H
|
||||
|
||||
/* Define if you have the <sys/fcntl.h> header file. */
|
||||
#define HAVE_SYS_FCNTL_H
|
||||
|
||||
/* Define if you have the <sys/file.h> header file. */
|
||||
#undef HAVE_SYS_FILE_H
|
||||
|
||||
/* Define if you have the <sys/fs_types.h> header file. */
|
||||
#undef HAVE_SYS_FS_TYPES_H
|
||||
|
||||
/* Define if you have the <sys/mntent.h> header file. */
|
||||
#undef HAVE_SYS_MNTENT_H
|
||||
|
||||
/* Define if you have the <sys/mnttab.h> header file. */
|
||||
#undef HAVE_SYS_MNTTAB_H
|
||||
|
||||
/* Define if you have the <sys/mount.h> header file. */
|
||||
#undef HAVE_SYS_MOUNT_H
|
||||
|
||||
/* Define if you have the <sys/ndir.h> header file. */
|
||||
#undef HAVE_SYS_NDIR_H
|
||||
|
||||
/* Define if you have the <sys/param.h> header file. */
|
||||
#undef HAVE_SYS_PARAM_H
|
||||
|
||||
/* Define if you have the <sys/time.h> header file. */
|
||||
#undef HAVE_SYS_TIME_H
|
||||
|
||||
/* Define if you have the <sys/vfs.h> header file. */
|
||||
#undef HAVE_SYS_VFS_H
|
||||
|
||||
/* Define if you have the <termios.h> header file. */
|
||||
#undef HAVE_TERMIOS_H
|
||||
|
||||
/* Define if you have the <unistd.h> header file. */
|
||||
#undef HAVE_UNISTD_H
|
||||
|
||||
/* Define if you have the <usersec.h> header file. */
|
||||
#undef HAVE_USERSEC_H
|
||||
|
||||
/* Define if you have the <windows.h> header file. */
|
||||
#define HAVE_WINDOWS_H
|
||||
|
||||
/* Define if you have the <winsock2.h> header file. */
|
||||
#define HAVE_WINSOCK2_H
|
||||
|
||||
/* Name of package */
|
||||
#undef PACKAGE
|
||||
|
||||
/* Version number of package */
|
||||
#undef VERSION
|
||||
|
||||
/* define if target is big endian */
|
||||
#undef WORDS_BIGENDIAN
|
||||
|
||||
/* define if sys/param.h defines the endiness */
|
||||
#undef ENDIANESS_IN_SYS_PARAM_H
|
||||
|
||||
/* define if struct ufsvfs has vfs_dqrwlock */
|
||||
#undef HAVE_VFS_DQRWLOCK
|
||||
|
||||
#undef PACKAGE
|
||||
#undef VERSION
|
||||
|
||||
#define RCSID(msg) \
|
||||
static /**/const char *const rcsid[] = { (char *)rcsid, "\100(#)" msg }
|
||||
|
||||
#undef HAVE_CONNECT
|
||||
//#undef HAVE_GETHOSTBYNAME
|
||||
#undef HAVE_RES_SEARCH
|
||||
//#undef HAVE_SOCKET
|
||||
|
||||
#if ENDIANESS_IN_SYS_PARAM_H
|
||||
# ifndef KERNEL
|
||||
# include <sys/types.h>
|
||||
# include <sys/param.h>
|
||||
# if BYTE_ORDER == BIG_ENDIAN
|
||||
# define WORDS_BIGENDIAN 1
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#undef AFS_AFSDB_ENV
|
||||
#undef AFS_NAMEI_ENV
|
||||
#undef BOS_RESTRICTED_MODE
|
||||
|
||||
#undef FAST_RESTART
|
||||
#undef BITMAP_LATER
|
||||
|
||||
#undef INODE_SETATTR_NOT_VOID
|
||||
#undef STRUCT_INODE_HAS_I_BYTES
|
||||
#undef STRUCT_ADDRESS_SPACE_HAS_PAGE_LOCK
|
||||
|
||||
/* glue for RedHat kernel bug */
|
||||
#undef ENABLE_REDHAT_BUILDSYS
|
||||
|
||||
#if defined(ENABLE_REDHAT_BUILDSYS) && defined(KERNEL) && defined(REDHAT_FIX)
|
||||
#include "redhat-fix.h"
|
||||
#endif
|
@ -15,14 +15,20 @@
|
||||
#include "process.h"
|
||||
#include "windows.h"
|
||||
#include "malloc.h"
|
||||
#include "time.h"
|
||||
|
||||
void usuage()
|
||||
{
|
||||
printf("util_cr file ;remove cr (from crlf)\n\
|
||||
OR util_cr } ProductVersion in_filename out_filename ; substitute for %1-%5 in file\n\
|
||||
%1=Major version, %2=Minor version, %3=Patch(first digit) %4=(last two digits) %5=Version display string \n\
|
||||
ProductVersion=maj.min.pat.pat2 ;maj=numeric, min=numeric pat,pat2 are not more than 3 digits or 1-2 digits and one alpha \n\
|
||||
e.g 1.0.4.1, 1.0.4 a 1.0.401, 1.0.4a all represent the same version\n\
|
||||
OR util_cr + file ;add cr\n \
|
||||
OR util_cr * \"+[register key value] x=y\" ; add register key value\n\
|
||||
OR util_cr * \"-[register key value]\" ; aremove register key value\n\
|
||||
OR util_cr & file.ini \"SectionKey=value\" ; update ini-ipr-pwf file\n\
|
||||
OR util_cr @ file.ini \"[SectionKey]variable=value\" ; update ini-ipr-pwf file\n\
|
||||
OR util_cr @ file.ini \"[SectionKey]variable=value*DatE*\" ; update ini-ipr-pwf file, insert date\n\
|
||||
OR util_cr ~ ;force error\n");
|
||||
exit(0xc000);
|
||||
}
|
||||
@ -97,15 +103,151 @@ int main(int argc, char* argv[])
|
||||
int l,i;
|
||||
char **pvar,*ch;
|
||||
long len;
|
||||
typedef char * CHARP;
|
||||
typedef char * CHARP;
|
||||
|
||||
if (argc<3)
|
||||
usuage();
|
||||
if (strcmp(argv[1],"}")==0)
|
||||
{
|
||||
char v1[4],v2[4],v3[4],v4[4];
|
||||
char v5[132];
|
||||
char *ptr=NULL;
|
||||
char *buf;
|
||||
int maj;
|
||||
int min;
|
||||
int pat,pat2;
|
||||
strcpy(v5,argv[2]);
|
||||
if (argc<5)
|
||||
usuage();
|
||||
if ((ptr=strtok(argv[2],". \n"))==NULL)
|
||||
return 0;
|
||||
maj=atoi(ptr);
|
||||
if ((ptr=strtok(NULL,". \n"))==NULL)
|
||||
return 0;
|
||||
min=atoi(ptr);
|
||||
if ((ptr=strtok(NULL,". \n"))==NULL)
|
||||
return 0;
|
||||
pat2=-1;
|
||||
switch (strlen(ptr))
|
||||
{
|
||||
case 0:
|
||||
usuage();
|
||||
case 1:
|
||||
pat=atoi(ptr);
|
||||
if (isdigit(*ptr)!=0)
|
||||
break;
|
||||
usuage();
|
||||
case 2: //ONLY 1.0.44 is interpreted as 1.0.4.4 or 1.0.4a as 1.0.4.a
|
||||
if (isdigit(*ptr)==0)
|
||||
usuage();
|
||||
pat=*ptr-'0';
|
||||
ptr++;
|
||||
if (isalpha(*ptr)==0)
|
||||
{
|
||||
pat2=atoi(ptr);
|
||||
} else if (isalpha(*ptr)!=0)
|
||||
{
|
||||
pat2=tolower(*ptr)-'a'+1;
|
||||
} else
|
||||
usuage();
|
||||
break;
|
||||
case 3://1.0.401 or 1.0.40a are the same;
|
||||
if ((isdigit(*ptr)==0) // first 2 must be digit
|
||||
|| (isdigit(*(ptr+1)==0))
|
||||
|| (*(ptr+1)!='0' && isdigit(*(ptr+2))==0) // disallow 1.0.4b0 or 1.0.41a
|
||||
)
|
||||
usuage();
|
||||
pat=*ptr-'0';
|
||||
ptr++;
|
||||
pat2=atoi(ptr);
|
||||
ptr++;
|
||||
if (isalpha(*ptr))
|
||||
pat2=tolower(*ptr)-'a'+1;
|
||||
break;
|
||||
default:
|
||||
usuage();
|
||||
}
|
||||
// last can be 1-2 digits or one alpha (if pat2 hasn't been set)
|
||||
if ((ptr=strtok(NULL,". \n"))!=NULL)
|
||||
{
|
||||
if (pat2>=0)
|
||||
usuage();
|
||||
switch (strlen(ptr))
|
||||
{
|
||||
case 1:
|
||||
pat2=(isdigit(*ptr))?atoi(ptr):tolower(*ptr)-'a'+1;
|
||||
break;
|
||||
case 2:
|
||||
if (
|
||||
isdigit(*ptr)==0
|
||||
|| isdigit(*(ptr+1))==0
|
||||
)
|
||||
usuage();
|
||||
pat2=atoi(ptr);
|
||||
default:
|
||||
usuage();
|
||||
}
|
||||
}
|
||||
file=fopen(argv[3],"r");
|
||||
if (file==NULL)
|
||||
usuage();
|
||||
len=filelength(_fileno(file));
|
||||
buf=(char *)malloc(len+1);
|
||||
len=fread(buf,sizeof(char),len,file);
|
||||
buf[len]=0; //set eof
|
||||
fclose(file);
|
||||
file=fopen(argv[4],"w");
|
||||
if (file==NULL)
|
||||
usuage();
|
||||
sprintf(v1,"%i",maj);
|
||||
sprintf(v2,"%i",min);
|
||||
sprintf(v3,"%i",pat);
|
||||
sprintf(v4,"%02i",pat2);
|
||||
while (1)
|
||||
{
|
||||
ptr=strstr(buf,"%");
|
||||
fwrite(buf,1,(ptr)?ptr-buf:strlen(buf),file); //write file if no % found or up to %
|
||||
if (ptr==NULL)
|
||||
break;
|
||||
switch (*(ptr+1)) //skip first scan if buf="1...."
|
||||
{
|
||||
case '1':
|
||||
fwrite(v1,1,strlen(v1),file);
|
||||
ptr++;
|
||||
break;
|
||||
case '2':
|
||||
fwrite(v2,1,strlen(v2),file);
|
||||
ptr++;
|
||||
break;
|
||||
case '3':
|
||||
fwrite(v3,1,strlen(v3),file);
|
||||
ptr++;
|
||||
break;
|
||||
case '4':
|
||||
fwrite(v4,1,strlen(v4),file);
|
||||
ptr++;
|
||||
break;
|
||||
case '5':
|
||||
fwrite(v5,1,strlen(v5),file);
|
||||
ptr++;
|
||||
break;
|
||||
default:
|
||||
fwrite("%",1,1,file); //either % at end of file or no %1...
|
||||
break;
|
||||
}
|
||||
buf=ptr+1;
|
||||
}
|
||||
fclose(file);
|
||||
return 0;
|
||||
}
|
||||
if (strcmp(argv[1],"~")==0)
|
||||
{ //check for file presence
|
||||
if (fopen(argv[2],"r"))
|
||||
return(0);
|
||||
printf("Error---%s\n",argv[3]);
|
||||
{ //check for file presence
|
||||
if (fopen(argv[2],"r"))
|
||||
return(0);
|
||||
if(argc<4)
|
||||
printf("ERROR --- File not present %s\n",argv[2]);
|
||||
else
|
||||
printf("Error---%s\n",argv[3]);
|
||||
exit(0xc000);
|
||||
}
|
||||
if (strcmp(argv[1],"*")==0)
|
||||
@ -149,31 +291,62 @@ int main(int argc, char* argv[])
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
if (strcmp(argv[1],"&")==0)
|
||||
if (strcmp(argv[1],"@")==0)
|
||||
{
|
||||
char msg[256],msgt[256];
|
||||
char *ptr;
|
||||
if (argc<4)
|
||||
usuage();
|
||||
for (i=3;argc>=4;i++)
|
||||
{
|
||||
char *ssect=strtok(argv[i],"[");
|
||||
char *skey=strtok(argv[i],"]");
|
||||
|
||||
char *ssect=strstr(argv[i],"[");
|
||||
char *skey=strstr(ssect,"]");
|
||||
char *sval;
|
||||
skey=strtok(NULL,"=");
|
||||
if ((ssect==NULL) || (skey==NULL))
|
||||
{
|
||||
printf("format error parameter %s\n",argv[i]);
|
||||
exit(0xc000);
|
||||
}
|
||||
while(*skey==' ')
|
||||
skey++;
|
||||
|
||||
sval=strtok(NULL,"=");
|
||||
ssect++;
|
||||
*skey=0;
|
||||
if ((strlen(skey+1)==0)||(strlen(ssect)==0))
|
||||
{
|
||||
printf("format error parameter %s\n",argv[i]);
|
||||
exit(0xc000);
|
||||
}
|
||||
while(*++skey==' ');
|
||||
sval=strstr(skey,"=");
|
||||
if (sval==NULL)
|
||||
{
|
||||
printf("format error parameter %s\n",argv[i]);
|
||||
exit(0xc000);
|
||||
}
|
||||
// printf("parameters %s %s %s %s\n",ssect,skey,sval,argv[2]);
|
||||
ptr=sval;
|
||||
while(*--ptr==' ') ;
|
||||
*(ptr+1)=0;
|
||||
while(*++sval==' ') ;
|
||||
if (ptr=strstr(sval,"*DatE*"))
|
||||
{// ok so lets substitute date in this string;
|
||||
char tmpbuf[32];
|
||||
*(ptr)=0;
|
||||
strcpy(msg,sval);
|
||||
_tzset();
|
||||
_strdate( tmpbuf );
|
||||
strcat(msg,tmpbuf);
|
||||
strcat(msg,ptr+6);
|
||||
sval=msg;
|
||||
}
|
||||
if (ptr=strstr(sval,"*TimE*"))
|
||||
{
|
||||
char tmpbuf[32];
|
||||
*(ptr)=0;
|
||||
strcpy(msgt,sval);
|
||||
_strtime( tmpbuf );
|
||||
strncat(msgt,tmpbuf,5);
|
||||
strcat(msgt,ptr+6);
|
||||
sval=msgt;
|
||||
}
|
||||
if (WritePrivateProfileString(ssect,skey,sval,argv[2])==0)
|
||||
{
|
||||
LPVOID lpMsgBuf;
|
||||
|
@ -190,6 +190,7 @@ EXELIBS = \
|
||||
$(DESTDIR)\lib\afs\afsreg.lib \
|
||||
$(DESTDIR)\lib\afs\afsprocmgmt.lib \
|
||||
$(DESTDIR)\lib\afs\afseventlog.lib \
|
||||
$(DESTDIR)\lib\afs\afsutil.lib \
|
||||
$(DESTDIR)\lib\pthread.lib
|
||||
|
||||
$(EXEFILE): $(EXEOBJS) $(EXELIBS)
|
||||
|
Loading…
Reference in New Issue
Block a user