Ever since RedGate announced that Reflector would no longer be a free tool, alternatives have emerged.
Next to ILSPY and dotPeek (and 1 or 2 others), now Telerik has it own free .NET Decompliler called JustDecompile.
I haven't tried it yet, but I'll sure give it go, as dotPeek (which I'm currently using) is really slow to load.
Wednesday, February 29, 2012
Thursday, February 23, 2012
Update: Windows Search and Xml files (on Windows Server 2008)
A while ago, I wrote a blog post on how change how Windows indexed xml files (see: http://blog.sdbonline.com/2011/09/windows-search-and-xml-files.html)
The idea is to let Windows index Xml files as Text files, allow you to search on Xml element tags and attribute names (instead of only element values and attribute values):
This works for Windows 7 and Windows 2008 (R2) (and also on Windows Vista), but for Windows Server 2008 (R2), you will need take a few additional steps:
Add the 'File Service' Role if not already added
The idea is to let Windows index Xml files as Text files, allow you to search on Xml element tags and attribute names (instead of only element values and attribute values):
Navigate to HKEY_CLASSES_ROOT\.xml\PersistentHandler and change the default value to {5e941d80-bf96-11cd-b579-08002b30bfeb}See my previous post for a more detailed explanation
This works for Windows 7 and Windows 2008 (R2) (and also on Windows Vista), but for Windows Server 2008 (R2), you will need take a few additional steps:
Add the 'File Service' Role if not already added
Add the 'Windows Search Service' in the 'Role Services' of the 'File Service' Role.
Select the locations to index (this can always be modified afterwards)
Modify the registry and rebuild the index
Verify that xml files are now indexed using the 'plain text filter'
go to 'Control Panel' - 'Indexing Options'. Click advanced, and on the 'File Types' tab, verify that the xml extension is using the 'Plain text Filter'
Make sure to wait for the indexer to complete: on my last test, my test file (in the root folder of my drive) didn't get indexed until the end
Once completed, you can search for all the content in an xml files as it was a text file (e.g. element tag names will be found)
Note that you can do the same for other file type (e.g. xslt, xsl, ...) by modifying the registry for those file types
HKEY_CLASSES_ROOT\<file extension>\PersistentHandlerand set the default value to {5e941d80-bf96-11cd-b579-08002b30bfeb}
Wednesday, February 22, 2012
ULSViewer tool not working on real-time logs
I use ULSViewer a lot when debugging SharePoint issues. One of the nicest features of the tool is to view the SharePoint log in real-time (and the fact that is works for both SP2007 and SP2010).
Last time I wanted to use the tool, I found that it was not parsing the SharePoint log in real-time. I was however able to open individual log files.
As it turns out, ULSViewer is using *-????????-?????.log as a filter to parse the logs in real-time. I had some 'older' log files in the LOGS folder that were not formatted in the ULS format (from running powershell commands).
Removing these files from the SharePoint Logs folder got ULSViewer real-time parsing working again.
Last time I wanted to use the tool, I found that it was not parsing the SharePoint log in real-time. I was however able to open individual log files.
As it turns out, ULSViewer is using *-????????-?????.log as a filter to parse the logs in real-time. I had some 'older' log files in the LOGS folder that were not formatted in the ULS format (from running powershell commands).
Removing these files from the SharePoint Logs folder got ULSViewer real-time parsing working again.
Tuesday, November 15, 2011
Requirements for SharePoint Groups when sending emails to them
I had a SharePoint designer workflow that send an email to a SharePoint group. In the History Log of the workflow, the follow message was logged:
There were actually two reasons why the emails weren’t being sent:
The settings ‘Who can view the membership of the group?’ on the group was configured as ‘Group Members’
The workflow is executed in the context of the current user. If the user has no access to view group membership, the workflow won’t be able to expand the group.
You should configure this settings as ‘Everyone’

The group had no permissions
The group should have at least ‘Read’ permission to the site. If the group has no permissions configured, you will receive the error as described above.
The e-mail message cannot be sent. Make sure the outgoing e-mail settings for the server are configured correctly.The outgoing email settings however were configure correctly (alerts and emails from other workflows were being send out).
There were actually two reasons why the emails weren’t being sent:
The settings ‘Who can view the membership of the group?’ on the group was configured as ‘Group Members’
The workflow is executed in the context of the current user. If the user has no access to view group membership, the workflow won’t be able to expand the group.
You should configure this settings as ‘Everyone’
The group had no permissions
The group should have at least ‘Read’ permission to the site. If the group has no permissions configured, you will receive the error as described above.
Wednesday, November 9, 2011
Configure hMailServer for SharePoint
Nice article from Wesley Bakker on how to use hMailServer for SharePoint: http://weblogs.asp.net/wesleybakker/archive/2010/08/09/configure-hmailserver-for-sharepoint.aspx
In Short:
Authentication
SharePoint cannot authenticate to an SMTP server, so you need to disable authenctiaction on the hMailServer (at least for the local computer)
If you're not using the build-in SMTP service, you need to configure SharePoint incoming mail to use a dropfolder. Also, SharePoint relies on the x-sender and x-receiver headers to process the mail. hMailServer does not add these messages, so these need to be added
In Short:
Authentication
SharePoint cannot authenticate to an SMTP server, so you need to disable authenctiaction on the hMailServer (at least for the local computer)
- In Settings / advanced / IP Ranges add an IP range (either the ip of the server or simply 0.0.0.0 - 255.255.255.255) and disable 'Require SMTP authentication'.
If you're not using the build-in SMTP service, you need to configure SharePoint incoming mail to use a dropfolder. Also, SharePoint relies on the x-sender and x-receiver headers to process the mail. hMailServer does not add these messages, so these need to be added
- Create a [dropfolder] and make sure the SharePoint Timer Service has read/write/modify access to it.
- Configure hMailServer's scripts (Settings / Advanced / Scripts) to handle the OnDeliverMessage event.
- Use the following script
- Configure SharePoint incoming mails to point to the [dropfolder]
- Optionally configure hMailServer with a catch-all address (Domains / <domain> / Advanced tab) so you don't have to create an account for each Email Enabled library you use in SharePoint.
Sub OnDeliverMessage(oMessage)
Dim path, filename, fso, original, copy
path = Split(oMessage.Filename, "\", -1, 1)
filename = "[dropfolder]" & path(UBound(path))
Set fso = CreateObject("Scripting.FileSystemObject")
Set copy = fso.CreateTextFile(filename, True)
copy.WriteLine("x-sender: " & oMessage.FromAddress)
copy.WriteLine("x-receiver: " & oMessage.To)
Set original = fso.OpenTextFile(oMessage.Filename, 1)
copy.WriteLine(original.ReadAll)
copy.Close
original.Close
End Sub
Subscribe to:
Posts (Atom)