Have been pulling my hair out trying to make commandbar buttons go in VB Addins for Office 2000. There are a couple of gotchas here
1. Any references to buttons that you’ve added are not valid by the time you get to the disconnection method. There’s a MSDN KB article on this and the workaround is to use FindControl to get a new reference to the button.
2. The above technique works for Powerpoint and Excel. With ms word, the button is more stubborn. Turns out that it updates the normal template. So in a word addin, in addition to calling delete on the button, you should also save the normal template – see below..
I finally got a broadband connection from BSNL last week. T’was heady stuff for the first few days – was getting 40 Kbytes/sec downloads – which translates to around 320 Kbps – more than the advertised 256Kbps.
And then it all had to come down eventually!!! For the past two days, the downloads are going at 3 Kbytes/sec… So today I called their help desk and as expected, got no real help other than getting a complaint registered. I was told that the problem will be fixed ‘soon’ – with no details being provided on how soon is ‘soon’
Anyway, thankfully the connections a bit better now – though still slow…getting 100 Kbps – which is way behind the advertised speed.
So its wait and watch down here.
In” functionality is only available for Office XP and Office 2003 on
the client, however I saw this workaround from a now unknown poster and
was kind enough to confirm that it works.
“Office 2000 is not supported to edit documents within the Document Library under the “All Documents” view.
But here is a work around to get the same exact function from Office 2000 as you do in Office 2003.
This is for working with Windows 2000 and Office 2000.
1. Open your particular document library.
2. Make sure “All Documents” view is selected.
3. Check Out the file (do not open the file just check it out)
4. Click “Explorer View”
5. Open the document you checked out and then edit and save the document.
6. Now return to the “All Documents” view.
7. Check In the document, and make your selections as well as enter your comments.
8. Your changes should now be shown, as well as version history if enabled.”
Found this great tip on preventing IE from opening office documents.
- Launch Windows Explorer.
- Select âFolder Options…â from the Tools menu.
- Select the âFile Typesâ tab.
- Scroll down the list of âRegistered file typesâ until you find âDOC – Microsoft Word Documentâ and select it.
- Click on the âAdvanced…â button at the bottom of the dialog.
- Uncheck the âBrowse in same windowâ checkbox.
VS.NET 2003 debugger died unexpectedly today. I get an access denied
error with a suggestion to add myself to Debugger Users group or be an
I’m already the administrator and also part of Debugger users group.
Googling a bit, found a collection of entries on M K Park’s blog
I’ve been using CMAB for sometime now and the only big crib that I have
against it is that it doesnt support environment variables for
specifying things like the path of the actual configuration file [One
of the projects that does is Log4Net]
I’ve looked at the code and supporting environment variable expansion shoudlnt be too difficult to do.
I’ll post a suggestion in and see what happens.
Probably I’ve been living in a cave…but looks like we’ve got a release of the enterprise library.
The patterns & practices Enterprise Library is a library
of application blocks designed to assist developers with common
enterprise development challenges. Application blocks are a type of
guidance, provided as source code that can be used “as is,” extended,
or modified by developers to use on enterprise development projects.
Enterprise Library features new and updated versions of application
blocks that were previously available as stand-alone application
blocks. All Enterprise Library application blocks have been updated
with a particular focus on consistency, extensibility, ease of use, and
I’ve just got a copy of it. The cribs are
A. The download locations for the old Application Blocks is still in
place. They don’t link to the Enterprise library page either. (Though
GDN does have a note pointing users to the Enterprise library workspace)
B. I’ve yet to look at the Blocks in detail, but the changes are big and not very helpful.
a. Namespaces have changed.
b. There’s a new configuration tool
c. The documentation’s been updated but there’s precious little for people migrating from older versions.
d. [Configuration Application Block] <Crib>
Name value collections are not supported and so are XML Serializer. One
of the beauties of the original release was that you could integrate it
with the standard classes seamlessly. Probably, this one does too, but
I’ll need to look it up.
I noticed this strange behaviour and thought its worth a post – till I find a solution/explanation.
Scenario: I have a custom web service running under sharepoint. This means that theÂ .asmx is in “c:\Program Files\Common Files\Microsoft Shared\web server extensions\60\ISAPI” and the binaries in the bin folder under it. The url of the web service is
The _vti_bin has NTLM authentication enabled.
When I paste the url in a browser, I go straight through to the page without any authentication! (I’ve set “Prompt for username and password” in IE).
In the web service, Context.Request.IsAuthenticated returns False and Context.User.Identity.Name returns an empty string. This is as expected.
I have a small program that connects to the web service. In the program I’m setting the credentials for the web service.
The fun starts when I create an SPSite object in the web service code. The SPWeb.CurrentUser.ToString() returns the username of the credentials set on the client!!! How the heck is the identity being passed on to Sharepoint? Or is it a bug in sharepoint that it doesnt set the Context properties? I’m stumped!!!
Just discovered something great – InkscapeÂ – go grab a copy and enjoy…
I’m almost through with a decent logging implementation for a Web service running under Windows Sharepoint services. Here are some hard earned lessons:
1. I could not use Global.asax for a sharepoint hosted web service. The Sharepoint web services Global.asax derives from stssoap and when I included the code in aÂ C# script block, the code never got invoked.
2. Also, the concept of an application is not useful in the case of web service – since a single web might be used to host multiple services. So, now, I’ve moved all the Log4Net initialization code to the ASMX code behind ctor. I’ve also got a SetContext() method that sets the user name, application (service) name. I’m also mulling about includingÂ the last few characters from the session key – for cases where the same user is logged on from multiple machines.
3. I need to do some more fine tuning – like enabling the connection pooling for the log4net connection string.
4. Another great lesson learned – and this is for all the times when you’ve got all the bits of log4net up and running and yet can’t seem to get the logs…Use the log4net Debug release with the DbgView utility from sysinternals. Log4net fails silently on errors and just doesn’t give you a clue as to what happened. For all those times when something utterly silly like a typo inÂ your config brings all your logging to a standstill, keep DbgView running side by side. If Log4net hits a problem, it’ll get logged in the dbgview console.