attrib -r -s c:\boot.iniThere is no need to add write protection afterwards.
cd /d <cdrom>:\i386A new entry is added to c:\boot.ini that can be choosen from the list of installed operating systems.
winnt32 /cmdcons
shellReplaceThe script will backup the original version of CMD.EXE to CMD.EXE.ORIGINAL and then replace it with the new version. A second later, Windows File Protection will open a dialog, requiring you to insert the Windows installation CD. Press 'Cancel' here and answer 'Yes' in the next windows that pops up.
drwtsn32 -iThis installs Dr. Watson as the default application debugger, which can be useful if you have installed Visual Studio Debugger and this beast shows its ugly head after each application crash.
drwtsn32and a dialog window pops up. Here you should use the follwing settings:
Timestamp'
s) . Especially on multiprocessor
systems, 1.4.0's concurrent garbage collection is a big plus. If you do cross-platform development (OSX/Windows) be sure to download the full international SDK from Sun (the
biggest package), as only this version contains all the font encodings from the Mac. Else, you will get exceptions stating that NSMacOSRomanStringEncoding could
not be found.java -versionYou should see an output like this:
NMServer.reg.deployment | - use for all version of Windows if you install WO deployment (the original one has a bug) |
NMServer.reg.nt4-devel | - use for WO development on NT4 (the original one only runs on Win2000/XP) |
NMServer.reg.win2k-devel | - use for WO development on Win2000/XP (the one included with WO by default) |
%systemroot%\system32\services.msc /sYou will find the following WebObjects related services. The name of the service is written into brackets - you can use that name to start/stop these services from the command line.
net start womonitorAfter a few seconds, open your browser and go to http://<myhost>:56789. You should see Monitor's starting page.
kill OpenBase.exe
kill pgroup.exe
kill databackup.exe
kill openinfo.exe
cd myapp.woa
myapp.cmd clean
net stop wotaskd5
net stop womonitor5
net start wotaskd5
net start womonitor5
#include "WOURLCUtilities.h"
and add the following line right below:#include "wastring.h"
int req_sendRequest
' (around line 217) and add the following code block _before_:#ifdef WIN32
static void req_appendHeader(const char *key, const char *val, String *headers)
{
int valLength = strlen(val);
while (val[valLength - 1] == '\r' || val[valLength - 1] == '\n') {
valLength--;
}
str_append(headers, key);
str_appendLiteral(headers, ": ");
str_appendLength(headers, val, valLength);
str_appendLiteral(headers, "\r\n");
}
int req_sendRequest(HTTPRequest *req, net_fd socket)
{
struct iovec *buffers;
int bufferCount, result;
String *headersString;
buffers = WOMALLOC(3 * sizeof(struct iovec));
headersString = str_create(req->request_str, 0);
if (headersString) {
st_perform(req->headers, (st_perform_callback)req_appendHeader, headersString);
}
buffers[0].iov_base = headersString->text;
buffers[0].iov_len = headersString->length;
buffers[1].iov_base = "\r\n";
buffers[1].iov_len = 2;
bufferCount = 2;
if (req->content_length > 0)
{
bufferCount++;
buffers[2].iov_base = req->content;
buffers[2].iov_len = req->content_length;
}
result = transport->sendBuffers(socket, buffers, bufferCount);
str_free(headersString);
WOFREE(buffers);
if (result == 0)
result = transport->flush_connection(socket);
else
WOLog(WO_ERR, "error sending request");
return result;
}
#else
#else
comes the original req_sendRequest
method. Go to the end of this method and insert a #endif
in the next
line.cd /d %NEXT_ROOT%\Developer\Examples\WebObjects\Source\AdaptorsIf compilation was successful (no error messages), we now should have the WebObjects adaptor as EXE (CGI) and DLL (ISAPI) file. These two should be copied to the proper location (change c:\inetpub to match your system).
set OS=WINDOWS
make clean
make
net stop w3svcStopping IIS before copying prevents possible sharing violations for the ISAPI adaptor as you cannot overwrite the file if it has already been loaded by IIS.
copy /y cgi\webobjects.exe c:\inetpub\scripts
copy /y iis\webobjects.dll c:\inetpub\scripts
net start w3svc
net start womonitor5Wait a few seconds, then point the browser to http://<myhost>:56789