STSDEV Debugging
I don't like hacking the gac in order to debug things for MOSS, so I created a new Target for STSDEV.
This target simply copies the output assembly to the bin directory of my web application, removes the assembly from the GAC, and then refreshes the App Pool. At this point you can simply attach to the w3wp.exe process in your off to the races (or the OWSTIMER.exe if you're doing timer jobs).
So the addition in Microsoft.SharePoint.targets is:
<Target Name="DebugInetBin">
<Message Text="Building to Bin Directory..." Importance="high" />
<Message Text="Uninstalling assembly in GAC and recycling app pool" Importance="high" />
<Exec Command="$(GACUTIL) -u $(AssemblyName)" />
<Exec Command='$(ISSAPP_SCRIPT) recycle APPPOOL "SharePoint - 80"' />
<Message Text="" Importance="high" />
</Target>
In addition, the project file (.csproj) needs to modified as well:
-
Add the following PropertyGroup
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'DebugInetBin|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<OutputPath>C:inetpubwwwrootin</OutputPath>
</PropertyGroup> -
Add the following CallTarget to the AfterBuild:
<CallTarget Targets="DebugInetBin" Condition=" '$(Configuration)|$(Platform)' == 'DebugInetBin|AnyCPU' " />
STSDEV and Windows Server 2008
If you are using STSDEV and Windows Server 2008, the DebugRefreshAssemblyInGac target will be broken.
The reason is C:Windowssystem32iisapp.vbs has been replaced by C:Windowssystem32inetsrvappcmd.exe.
In order to fix this the Microsoft.SharePoint.Targets file needs the following modifications:
-
In the Property Group element, replace:
<
ISSAPP_SCRIPT>CSCRIPT.EXE C:WINDOWSsystem32iisapp.vbs</ISSAPP_SCRIPT>
with:
<ISSAPP_SCRIPT>c:windowssystem32inetsrvappcmd.exe</ISSAPP_SCRIPT> -
In the DebugRefreshAssemblyInGac target, replace:
<
Exec Command='$(ISSAPP_SCRIPT) /a "AppPoolName" /r' />
with:
<Exec Command='$(ISSAPP_SCRIPT) recycle APPPOOL "AppPoolName"' />
Hope this helps somebody out.
MOSS, Windows Server 2008 and SQL 2008 Gotcha
Receiving:
11/12/2008 10:07:08 7 ERR An exception of type System.Runtime.InteropServices.COMException was thrown. Additional exception information: Unknown error (0x80005000)
System.Runtime.InteropServices.COMException (0x80005000): Unknown error (0x80005000)
at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
at System.DirectoryServices.DirectoryEntry.Exists(String path)
at Microsoft.SharePoint.Administration.SPIisWebSite.GetUnusedInstanceId(Int32 preferredInstanceId)
at Microsoft.SharePoint.Administration.SPWebApplication.CreateIisSettingsObject(String iisServerComment, Boolean secureSocketsLayer, String iisHostHeader, Int32 iisPort, Boolean iisAllowAnonymous, Boolean iisEnsureNTLM, DirectoryInfo iisRootDirectory, SPFarm farm)
at Microsoft.SharePoint.Administration.SPWebApplication.CreateDefaultInstance(SPWebService service, Guid id, String applicationPoolId, IdentityType identityType, String applicationPoolUsername, SecureString applicationPoolPassword, String iisServerComment, Boolean secureSocketsLayer, String iisHostHeader, Int32 iisPort, Boolean iisAllowAnonymous, DirectoryInfo iisRootDirectory, Uri defaultZoneUri, Boolean iisEnsureNTLM, Boolean createDatabase, String databaseServer, String databaseName, String databaseUsername, String databasePassword, SPSearchServiceInstance searchServiceInstance, Boolean isPaired, Boolean autoActivateFeatures)
at Microsoft.SharePoint.Administration.SPAdministrationWebApplication.CreateDefaultInstance(SqlConnectionStringBuilder administrationContentDatabase, SPWebService adminService, IdentityType identityType, String farmUser, SecureString farmPassword)
at Microsoft.SharePoint.Administration.SPFarm.CreateAdministrationWebService(SqlConnectionStringBuilder administrationContentDatabase, IdentityType identityType, String farmUser, SecureString farmPassword)
at Microsoft.SharePoint.Administration.SPFarm.CreateBasicServices(SqlConnectionStringBuilder administrationContentDatabase, IdentityType identityType, String farmUser, SecureString farmPassword)
at Microsoft.SharePoint.Administration.SPFarm.Create(SqlConnectionStringBuilder configurationDatabase, SqlConnectionStringBuilder administrationContentDatabase, IdentityType identityType, String farmUser, SecureString farmPassword)
at Microsoft.SharePoint.Administration.SPFarm.Create(SqlConnectionStringBuilder configurationDatabase, SqlConnectionStringBuilder administrationContentDatabase, String farmUser, SecureString farmPassword)
at Microsoft.SharePoint.PostSetupConfiguration.ConfigurationDatabaseTask.CreateOrConnectConfigDb()
at Microsoft.SharePoint.PostSetupConfiguration.ConfigurationDatabaseTask.Run()
at Microsoft.SharePoint.PostSetupConfiguration.TaskThread.ExecuteTask()
Not the most intuitive message. Is it an AD problem? Is it an IIS problem? Is it a SQL problem?
The answer it turns out is simple and it is an IIS problem.
Make sure you have added IIS 6 Metabase Compatibility to the Installed Role Services for the Web Server (IIS) Role.
Windows SharePoint Services 3.0 Tools: Visual Studio 2005 Extensions, Version 1.1 CTP Released
So after lampooning the initial release of the Visual Studio Extensions For Windows SharePoint Services (and kicking it repeatedly when it was down).
It looks like MS has release an updated version. According the release notes, it addresses some of the short-comings I had an issue with.
MOSS – Visual Studio Development (What works for me…)
So I've played around with the Visual Studio 2005 extensions for Windows SharePoint Services, v1.0 for quite some time now. While the concept is extremely useful, the release is not. It has MANY problems. So I've looked for different workflows for developing against MOSS. The following tools enable me to create a fairly robust MOSS development environment, without the headache related to the MS VSeWSS tool. Can't wait until they update that!
The process defined works great for me. For everyone else, mileage may vary. However, I am super interested in any other ideas. I'm always looking for ways to increase my productivity.
-
I use a Virtual Machine (who doesn't?)
-
I use the following package: SharePoint Visual Studio Project Templates (http://www.codeplex.com/sptemplateland). These are from TheKid, who has VERY excellent posts. Basically, theses allow me to develop MOSS solutions (wsp) in Visual Studio. By using these, I can get over certain limitations of the VSeWSS package.
-
I also use the VS Command Shell (http://www.codeplex.com/VSCmdShell). This enables either a standard console window or a PowerShell window to be embedded within Visual Studio.
NOTE: There is a problem with the PowerShell integration. I'll makea seperate postan update on how to fix it. This tool makes deployment, installation, retraction, etc. a snap. I modified the package in step 2 to build installation and removal batch files. So with the console window in Visual Studio already, I can just run the bat file from it. Create an Internet Explorer window in Visual Studio, and I never need to leave Visual Studio to do my development.
UPDATE:
How to fix the PowerShell intergration
-
Download the updated source from here. It fixes the friendly name portion, which was the issue.
-
Open the source in Visual Studio and build the project.
-
Assuming you have already installed the 1.1 build, replace the Microsoft.VSPowerToys.VSCmdShell.PowerShellHost.dll in the install directory from the copy in the build directory.
Validate Microsoft Forefront for SharePoint Installation
The following procedure can be used to test whether an installation of Microsoft Forefront is valid.
-
In Central Admin -> Operations -> Blocked file types, temporarily remove the com extension.
-
Open Notepad and add the following text to a new text file:
X5O!P%@AP[4PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
-
Save this file as EICAR.COM
-
Upload to a document library and if everything is installed correctly, you will get this:
-
Add the extension com back to the blocked file types.
If you don't see the above screen, then your installation of Forefront isn't working.
PDF Document Type Icon in MOSS
MOSS doesn't install an icon for PDF files by default. It simply shows a generic white paper icon.
This is my procedure for fixing this issue:
-
Download an appropriate icon for pdf document types.
-
This is the icon from Adobe.
-
Save to TEMPLATE\IMAGES directory. (DEFAULT: C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\template\images)
-
-
Open the file docicon.xml. (DEFAULT: C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\template\xml\docicon.xml)
-
Add a new Mapping element to the ByExtension element.
<Mapping Key="pdf" Value="pdficon_small.gif" />
NOTE: Be sure to change pdficon_small.gif to whatever image you downloaded to represent pdf documents. -
Save the edited docicon.xml file.
-
Restart IIS (iisreset /noforce).
You should now see the PDF icons for all PDF documents in the portal, including search results.
MOSS Usage Log Processing File parsing
Parsing STS logs in SharePoint 2003 was fairly well documented. However, that is not the case yet in 2007. There is now some content about log parsing in 2007. It is written in C++, so this should still be useful. Given the number of libraries I've seen on the net referencing this code, I assume that is the case.
First, there is an additional 300 bytes added to the head of each log file. The additional 300 bytes contains the text "Windows SharePoint Services HTTP log file" followed by space characters making up the difference. You can simply ignore these.
Secondly, the header of the each entry appears to have grown as well, including the ordering of the definition.
Header Data (50 bytes)
| Field | Bytes | Type |
|---|---|---|
|
Unused |
11 bytes |
? |
|
Site Url (length) |
2 bytes |
ushort |
|
Web (length) |
2 bytes |
ushort |
|
Doc (length) |
2 bytes |
ushort |
|
Unknown |
2 bytes |
? |
|
Bytes (data) |
4 bytes |
uint |
|
HTTP Status (data) |
2 bytes |
ushort |
|
Username (length) |
2 bytes |
ushort |
|
QueryString (length) |
2 bytes |
ushort |
|
Referral (length) |
2 bytes |
ushort |
|
User Agent (length) |
2 bytes |
ushort |
|
Command / Search Query (length) |
2 bytes |
ushort |
|
Unused |
15 bytes |
? |
|
Total |
50 bytes |
|
It also appears that the actual data has changed ordering a bit as well:
-
Site GUID
-
Timestamp
-
Site Url
-
Web
-
Doc
-
User
-
QueryString
-
Referral
-
User Agent
-
New GUID (don't know what this represents... anyone?)
-
Command / Search Query
I've created a parser in C#:
using System; using System.Collections.Generic; using System.Data; using System.IO; using System.Text; using System.Runtime.InteropServices; using System.ComponentModel; namespace MOSS2007LogParser { public class Parser { private const int FILEHEADERLENGTH = 300; private const int RECORDHEADERLENGTH = 50; private List<LogRecord> _logRecords = new List<LogRecord>(); private void ReadLogFile(string logFilePath) { _logRecords.Clear(); // Open a stream to the log file // I recommend using a Memory-mapped file here, as the files can grow quite large. // http://www.winterdom.com/dev/dotnet/ shows a fairly good implementation [see: FileMap] using (Stream s = File.OpenRead(logFilePath)) { BinaryReader br = new BinaryReader(s); // Read the file header byte[] fileHeaderData = br.ReadBytes(FILEHEADERLENGTH); while (s.Position < s.Length) { // Read the record header array byte[] recordHeader = br.ReadBytes(RECORDHEADERLENGTH); LogRecordHeader headerData = new LogRecordHeader(recordHeader); // Get the length of the current record and read the array int recordLength = headerData.RecordLength(); byte[] recordData = br.ReadBytes(recordLength); _logRecords.Add(new LogRecord(headerData, recordData)); } br.Close(); s.Close(); } } public DataSet GetLogDataSet(string logFilePath) { ReadLogFile(logFilePath); DataSet dsSTSLogs = new DataSet("dsSTSLogs"); DataTable dtSTSLogs = new DataTable("dtSTSLogs"); DataColumn dcTimeStamp = new DataColumn("TimeStamp"); DataColumn dcSiteGuid = new DataColumn("SiteGUID"); DataColumn dcSiteUrl = new DataColumn("SiteUrl"); DataColumn dcWeb = new DataColumn("Web"); DataColumn dcDocument = new DataColumn("Document"); DataColumn dcUserName = new DataColumn("UserName"); DataColumn dcQueryString = new DataColumn("QueryString"); DataColumn dcReferral = new DataColumn("Referral"); DataColumn dcUserAgent = new DataColumn("UserAgent"); DataColumn dcCommand = new DataColumn("Command"); DataColumn dcHttpStatus = new DataColumn("HttpStatus"); DataColumn dcBytesSent = new DataColumn("BytesSent"); dtSTSLogs.Columns.Add(dcTimeStamp); dtSTSLogs.Columns.Add(dcSiteGuid); dtSTSLogs.Columns.Add(dcSiteUrl); dtSTSLogs.Columns.Add(dcWeb); dtSTSLogs.Columns.Add(dcDocument); dtSTSLogs.Columns.Add(dcUserName); dtSTSLogs.Columns.Add(dcQueryString); dtSTSLogs.Columns.Add(dcReferral); dtSTSLogs.Columns.Add(dcUserAgent); dtSTSLogs.Columns.Add(dcCommand); dtSTSLogs.Columns.Add(dcHttpStatus); dtSTSLogs.Columns.Add(dcBytesSent); dsSTSLogs.Tables.Add(dtSTSLogs); foreach (LogRecord record in _logRecords) { DataRow drRecord = dtSTSLogs.NewRow(); drRecord["TimeStamp"] = record.TimeStamp; drRecord["SiteGUID"] = record.SiteGUID; drRecord["SiteUrl"] = record.SiteUrl; drRecord["Web"] = record.Web; drRecord["Document"] = record.Document; drRecord["UserName"] = record.UserName; drRecord["QueryString"] = record.QueryString; drRecord["Referral"] = record.Referral; drRecord["UserAgent"] = record.UserAgent; drRecord["Command"] = record.Command; drRecord["HttpStatus"] = record.Status; drRecord["BytesSent"] = record.BytesSent; dtSTSLogs.Rows.Add(drRecord); } return dsSTSLogs; } public void ConvertToCSVFile(string logFilePath) { string defaultPath = Path.Combine( Path.GetDirectoryName(logFilePath), Path.GetFileNameWithoutExtension(logFilePath)) + ".csv"; ConvertToCSVFile(logFilePath, defaultPath); } public void ConvertToCSVFile(string logFilePath, string csvFilePath) { ReadLogFile(logFilePath); string recordLineFormat = "{0},{1},{2},{3},{4},{5},{6},{7},{8},{9},{10},{11}"; using (StreamWriter sw = File.CreateText(csvFilePath)) { foreach (LogRecord record in _logRecords) { sw.WriteLine(String.Format(recordLineFormat, record.TimeStamp, record.SiteGUID, record.SiteUrl, record.Web, record.Document, record.UserName, record.QueryString, record.Referral, record.UserAgent, record.Command, record.BytesSent, record.Status)); } sw.Close(); } } } public class LogRecordHeader { public const int STANDARD_GUID_LENGTH = 36; public const int STANDARD_TIMESTAMP_LENGTH = 8; private byte[] _recordHeader; private int _siteUrlLength; public int SiteUrlLength { get { return _siteUrlLength; } } private int _webLength; public int WebLength { get { return _webLength; } } private int _docLength; public int DocLength { get { return _docLength; } } private int _userNameLength; public int UserNameLength { get { return _userNameLength; } } private long _bytesSent; public long BytesSent { get { return _bytesSent; } } private int _httpStatus; public int HttpStatus { get { return _httpStatus; } } private int _queryStringLength; public int QueryStringLength { get { return _queryStringLength; } } private int _referralLength; public int ReferralLength { get { return _referralLength; } } private int _userAgentLength; public int UserAgentLength { get { return _userAgentLength; } } private int _commandLength; public int CommandLength { get { return _commandLength; } } public LogRecordHeader(byte[] recordHeader) { this._recordHeader = recordHeader; this._siteUrlLength = BitConverter.ToUInt16(recordHeader, SITEURL_OFFSET); this._webLength = BitConverter.ToUInt16(recordHeader, WEB_OFFSET); this._docLength = BitConverter.ToUInt16(recordHeader, DOC_OFFSET); this._bytesSent = BitConverter.ToUInt32(recordHeader, BYTESSENT_OFFSET); this._httpStatus = BitConverter.ToUInt16(recordHeader, HTTPSTATUS_OFFSET); this._userNameLength = BitConverter.ToUInt16(recordHeader, USERNAME_OFFSET); this._queryStringLength = BitConverter.ToUInt16(recordHeader, QUERYSTRING_OFFSET); this._referralLength = BitConverter.ToUInt16(recordHeader, REFERRAL_OFFSET); this._userAgentLength = BitConverter.ToUInt16(recordHeader, USERAGENT_OFFSET); this._commandLength = BitConverter.ToUInt16(recordHeader, COMMAND_OFFSET); } private const int SITEURL_OFFSET = 12; private const int WEB_OFFSET = 14; private const int DOC_OFFSET = 16; private const int BYTESSENT_OFFSET = 20; private const int HTTPSTATUS_OFFSET = 24; private const int USERNAME_OFFSET = 26; private const int QUERYSTRING_OFFSET = 28; private const int REFERRAL_OFFSET = 30; private const int USERAGENT_OFFSET = 32; private const int COMMAND_OFFSET = 34; public int RecordLength() { return STANDARD_GUID_LENGTH + 1 + STANDARD_TIMESTAMP_LENGTH + 1 + SiteUrlLength + 1 + WebLength + 1 + DocLength + 1 + UserNameLength + 1 + QueryStringLength + 1 + ReferralLength + 1 + UserAgentLength + 1 + STANDARD_GUID_LENGTH + 1 + CommandLength + 1; } } public class LogRecord { private string _siteGuid; public string SiteGUID { get { return _siteGuid; } } private string _timeStamp; public string TimeStamp { get { return _timeStamp; } } private string _siteUrl; public string SiteUrl { get { return _siteUrl; } } private string _web; public string Web { get { return _web; } } private string _document; public string Document { get { return _document; } } private string _userName; public string UserName { get { return _userName; } } private string _queryString; public string QueryString { get { return _queryString; } } private string _referral; public string Referral { get { return _referral; } } private string _userAgent; public string UserAgent { get { return _userAgent; } } private string _command; public string Command { get { return _command; } } private int _status; public int Status { get { return _status; } } private long _bytesSent; public long BytesSent { get { return _bytesSent; } } public LogRecord(LogRecordHeader headerData, byte[] recordData) { int timeStampOffset = LogRecordHeader.STANDARD_GUID_LENGTH + 1; int siteUrlOffset = timeStampOffset + LogRecordHeader.STANDARD_TIMESTAMP_LENGTH + 1; int webOffset = siteUrlOffset + headerData.SiteUrlLength + 1; int documentOffset = webOffset + headerData.WebLength + 1; int userNameOffset = documentOffset + headerData.DocLength + 1; int queryStringOffset = userNameOffset + headerData.UserNameLength + 1; int referralOffset = queryStringOffset + headerData.QueryStringLength + 1; int userAgentOffset = referralOffset + headerData.ReferralLength + 1; int commandOffset = userAgentOffset + headerData.UserAgentLength + LogRecordHeader.STANDARD_GUID_LENGTH + 2; Encoding enc = UTF8Encoding.Default; _siteGuid = enc.GetString(recordData, 0, LogRecordHeader.STANDARD_GUID_LENGTH); _timeStamp = enc.GetString(recordData, timeStampOffset, LogRecordHeader.STANDARD_TIMESTAMP_LENGTH); _siteUrl = enc.GetString(recordData, siteUrlOffset, headerData.SiteUrlLength); _web = enc.GetString(recordData, webOffset, headerData.WebLength); _document = enc.GetString(recordData, documentOffset, headerData.DocLength); _userName = enc.GetString(recordData, userNameOffset, headerData.UserNameLength); _queryString = enc.GetString(recordData, queryStringOffset, headerData.QueryStringLength); _referral = enc.GetString(recordData, referralOffset, headerData.ReferralLength); _userAgent = enc.GetString(recordData, userAgentOffset, headerData.UserAgentLength); _command = enc.GetString(recordData, commandOffset, headerData.CommandLength); _status = headerData.HttpStatus; _bytesSent = headerData.BytesSent; } } }
Event ID 202 – SharePoint Portal Administration Service
| Event Type: | Error |
| Event Source: | SharePoint Portal Administration Service |
| Event Category: | None |
| Event ID: | 202 |
| Date: | 2/22/2007 |
| Time: | 11:43:10 AM |
| User: | N/A |
| Computer: | REMOVED |
| Description: | |
| Synchronization exception occurred For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp Data: | |
| 0000: 41 00 70 00 70 00 44 00 A.p.p.D. 0008: 6f 00 6d 00 61 00 69 00 o.m.a.i. 0010: 6e 00 3a 00 20 00 73 00 n.:. .s. 0018: 70 00 73 00 61 00 64 00 p.s.a.d. 0020: 6d 00 69 00 6e 00 2e 00 m.i.n... 0028: 65 00 78 00 65 00 0d 00 e.x.e... 0030: 0a 00 53 00 79 00 73 00 ..S.y.s. 0038: 74 00 65 00 6d 00 2e 00 t.e.m... 0040: 44 00 61 00 74 00 61 00 D.a.t.a. 0048: 2e 00 53 00 71 00 6c 00 ..S.q.l. 0050: 43 00 6c 00 69 00 65 00 C.l.i.e. 0058: 6e 00 74 00 2e 00 53 00 n.t...S. 0060: 71 00 6c 00 45 00 78 00 q.l.E.x. 0068: 63 00 65 00 70 00 74 00 c.e.p.t. 0070: 69 00 6f 00 6e 00 3a 00 i.o.n.:. 0078: 20 00 53 00 79 00 73 00 .S.y.s. 0080: 74 00 65 00 6d 00 2e 00 t.e.m... 0088: 44 00 61 00 74 00 61 00 D.a.t.a. 0090: 2e 00 53 00 71 00 6c 00 ..S.q.l. 0098: 43 00 6c 00 69 00 65 00 C.l.i.e. 00a0: 6e 00 74 00 2e 00 53 00 n.t...S. 00a8: 71 00 6c 00 45 00 78 00 q.l.E.x. 00b0: 63 00 65 00 70 00 74 00 c.e.p.t. 00b8: 69 00 6f 00 6e 00 3a 00 i.o.n.:. 00c0: 20 00 43 00 6f 00 75 00 .C.o.u. 00c8: 6c 00 64 00 20 00 6e 00 l.d. .n. 00d0: 6f 00 74 00 20 00 66 00 o.t. .f. 00d8: 69 00 6e 00 64 00 20 00 i.n.d. . 00e0: 73 00 74 00 6f 00 72 00 s.t.o.r. 00e8: 65 00 64 00 20 00 70 00 e.d. .p. 00f0: 72 00 6f 00 63 00 65 00 r.o.c.e. 00f8: 64 00 75 00 72 00 65 00 d.u.r.e. 0100: 20 00 27 00 64 00 62 00 .'.d.b. 0108: 6f 00 2e 00 70 00 72 00 o...p.r. 0110: 6f 00 63 00 5f 00 67 00 o.c._.g. 0118: 65 00 74 00 56 00 65 00 e.t.V.e. 0120: 72 00 73 00 69 00 6f 00 r.s.i.o. 0128: 6e 00 27 00 2e 00 0d 00 n.'..... 0130: 0a 00 20 00 20 00 20 00 .. . . . 0138: 61 00 74 00 20 00 4d 00 a.t. .M. 0140: 69 00 63 00 72 00 6f 00 i.c.r.o. 0148: 73 00 6f 00 66 00 74 00 s.o.f.t. 0150: 2e 00 53 00 68 00 61 00 ..S.h.a. 0158: 72 00 65 00 50 00 6f 00 r.e.P.o. 0160: 69 00 6e 00 74 00 2e 00 i.n.t... 0168: 50 00 6f 00 72 00 74 00 P.o.r.t. 0170: 61 00 6c 00 2e 00 44 00 a.l...D. 0178: 61 00 74 00 61 00 2e 00 a.t.a... 0180: 61 00 2e 00 63 00 28 00 a...c.(. 0188: 53 00 71 00 6c 00 43 00 S.q.l.C. 0190: 6f 00 6d 00 6d 00 61 00 o.m.m.a. 0198: 6e 00 64 00 20 00 41 00 n.d. .A. 01a0: 5f 00 30 00 2c 00 20 00 _.0.,. . 01a8: 42 00 6f 00 6f 00 6c 00 B.o.o.l. 01b0: 65 00 61 00 6e 00 20 00 e.a.n. . 01b8: 41 00 5f 00 31 00 29 00 A._.1.). 01c0: 0d 00 0a 00 20 00 20 00 .... . . 01c8: 20 00 61 00 74 00 20 00 .a.t. . 01d0: 4d 00 69 00 63 00 72 00 M.i.c.r. 01d8: 6f 00 73 00 6f 00 66 00 o.s.o.f. 01e0: 74 00 2e 00 53 00 68 00 t...S.h. 01e8: 61 00 72 00 65 00 50 00 a.r.e.P. 01f0: 6f 00 69 00 6e 00 74 00 o.i.n.t. 01f8: 2e 00 50 00 6f 00 72 00 ..P.o.r. 0200: 74 00 61 00 6c 00 2e 00 t.a.l... 0208: 44 00 61 00 74 00 61 00 D.a.t.a. 0210: 2e 00 61 00 2e 00 63 00 ..a...c. 0218: 28 00 53 00 71 00 6c 00 (.S.q.l. 0220: 43 00 6f 00 6d 00 6d 00 C.o.m.m. 0228: 61 00 6e 00 64 00 20 00 a.n.d. . 0230: 41 00 5f 00 30 00 2c 00 A._.0.,. 0238: 20 00 42 00 6f 00 6f 00 .B.o.o. 0240: 6c 00 65 00 61 00 6e 00 l.e.a.n. 0248: 20 00 41 00 5f 00 31 00 .A._.1. 0250: 29 00 0d 00 0a 00 20 00 )..... . 0258: 20 00 20 00 61 00 74 00 . .a.t. 0260: 20 00 4d 00 69 00 63 00 .M.i.c. 0268: 72 00 6f 00 73 00 6f 00 r.o.s.o. 0270: 66 00 74 00 2e 00 53 00 f.t...S. 0278: 68 00 61 00 72 00 65 00 h.a.r.e. 0280: 50 00 6f 00 69 00 6e 00 P.o.i.n. 0288: 74 00 2e 00 50 00 6f 00 t...P.o. 0290: 72 00 74 00 61 00 6c 00 r.t.a.l. 0298: 2e 00 44 00 61 00 74 00 ..D.a.t. 02a0: 61 00 2e 00 61 00 2e 00 a...a... 02a8: 62 00 28 00 53 00 71 00 b.(.S.q. 02b0: 6c 00 43 00 6f 00 6d 00 l.C.o.m. 02b8: 6d 00 61 00 6e 00 64 00 m.a.n.d. 02c0: 20 00 41 00 5f 00 30 00 .A._.0. 02c8: 29 00 0d 00 0a 00 20 00 )..... . 02d0: 20 00 20 00 61 00 74 00 . .a.t. 02d8: 20 00 4d 00 69 00 63 00 .M.i.c. 02e0: 72 00 6f 00 73 00 6f 00 r.o.s.o. 02e8: 66 00 74 00 2e 00 53 00 f.t...S. 02f0: 68 00 61 00 72 00 65 00 h.a.r.e. 02f8: 50 00 6f 00 69 00 6e 00 P.o.i.n. 0300: 74 00 2e 00 50 00 6f 00 t...P.o. 0308: 72 00 74 00 61 00 6c 00 r.t.a.l. 0310: 2e 00 44 00 61 00 74 00 ..D.a.t. 0318: 61 00 2e 00 61 00 2e 00 a...a... 0320: 62 00 28 00 53 00 71 00 b.(.S.q. 0328: 6c 00 43 00 6f 00 6d 00 l.C.o.m. 0330: 6d 00 61 00 6e 00 64 00 m.a.n.d. 0338: 20 00 41 00 5f 00 30 00 .A._.0. 0340: 29 00 0d 00 0a 00 20 00 )..... . 0348: 20 00 20 00 61 00 74 00 . .a.t. 0350: 20 00 4d 00 69 00 63 00 .M.i.c. 0358: 72 00 6f 00 73 00 6f 00 r.o.s.o. 0360: 66 00 74 00 2e 00 53 00 f.t...S. 0368: 68 00 61 00 72 00 65 00 h.a.r.e. 0370: 50 00 6f 00 69 00 6e 00 P.o.i.n. 0378: 74 00 2e 00 50 00 6f 00 t...P.o. 0380: 72 00 74 00 61 00 6c 00 r.t.a.l. 0388: 2e 00 54 00 6f 00 70 00 ..T.o.p. 0390: 6f 00 6c 00 6f 00 67 00 o.l.o.g. 0398: 79 00 2e 00 44 00 61 00 y...D.a. 03a0: 74 00 61 00 62 00 61 00 t.a.b.a. 03a8: 73 00 65 00 2e 00 61 00 s.e...a. 03b0: 28 00 61 00 20 00 41 00 (.a. .A. 03b8: 5f 00 30 00 29 00 0d 00 _.0.)... 03c0: 0a 00 20 00 20 00 20 00 .. . . . 03c8: 61 00 74 00 20 00 4d 00 a.t. .M. 03d0: 69 00 63 00 72 00 6f 00 i.c.r.o. 03d8: 73 00 6f 00 66 00 74 00 s.o.f.t. 03e0: 2e 00 53 00 68 00 61 00 ..S.h.a. 03e8: 72 00 65 00 50 00 6f 00 r.e.P.o. 03f0: 69 00 6e 00 74 00 2e 00 i.n.t... 03f8: 50 00 6f 00 72 00 74 00 P.o.r.t. 0400: 61 00 6c 00 2e 00 54 00 a.l...T. 0408: 6f 00 70 00 6f 00 6c 00 o.p.o.l. 0410: 6f 00 67 00 79 00 2e 00 o.g.y... 0418: 43 00 6f 00 6e 00 66 00 C.o.n.f. 0420: 69 00 67 00 75 00 72 00 i.g.u.r. 0428: 61 00 74 00 69 00 6f 00 a.t.i.o. 0430: 6e 00 44 00 61 00 74 00 n.D.a.t. 0438: 61 00 62 00 61 00 73 00 a.b.a.s. 0440: 65 00 2e 00 67 00 65 00 e...g.e. 0448: 74 00 5f 00 44 00 61 00 t._.D.a. 0450: 74 00 61 00 62 00 61 00 t.a.b.a. 0458: 73 00 65 00 56 00 65 00 s.e.V.e. 0460: 72 00 73 00 69 00 6f 00 r.s.i.o. 0468: 6e 00 28 00 29 00 0d 00 n.(.)... 0470: 0a 00 20 00 20 00 20 00 .. . . . 0478: 61 00 74 00 20 00 4d 00 a.t. .M. 0480: 69 00 63 00 72 00 6f 00 i.c.r.o. 0488: 73 00 6f 00 66 00 74 00 s.o.f.t. 0490: 2e 00 53 00 68 00 61 00 ..S.h.a. 0498: 72 00 65 00 50 00 6f 00 r.e.P.o. 04a0: 69 00 6e 00 74 00 2e 00 i.n.t... 04a8: 50 00 6f 00 72 00 74 00 P.o.r.t. 04b0: 61 00 6c 00 2e 00 41 00 a.l...A. 04b8: 64 00 6d 00 69 00 6e 00 d.m.i.n. 04c0: 69 00 73 00 74 00 72 00 i.s.t.r. 04c8: 61 00 74 00 69 00 6f 00 a.t.i.o. 04d0: 6e 00 53 00 65 00 72 00 n.S.e.r. 04d8: 76 00 69 00 63 00 65 00 v.i.c.e. 04e0: 2e 00 52 00 75 00 6e 00 ..R.u.n. 04e8: 28 00 29 00 (.). |
|
This was occurring on a SharePoint 2003 upgrade portal. The only thing we needed to fix was shutting down the SharePoint Portal Administration service. The errors stopped.