Comments

# re: To RSS or not to RSS

Sunday, October 19, 2003 12:05 PM by bart

RSS is the abbreviation for many things. I personnally like Really Simple Syndication, but technically it stands close to RDF. I guess this is why you chose this description.

# re: Creating shares with "backslash-sensitive strings" :(

Friday, October 31, 2003 10:38 AM by bart

Bart,
Managing file permissions is possible in v1.1 too without resorting to PInvoke.
Whitbey will add this to the BCL, but as of today you can use the System.Management namespace classes that wraps WMI functionality to do that, on XP and higher it's also possible to use the DirectoryServices namespace classes to manage ACL's on Filesystem objects and AD objects.
If you need a sample of both methods just drop me a mail.

# re: Creating shares with "backslash-sensitive strings" :(

Friday, October 31, 2003 11:45 AM by bart

Bart,
Another point I forgot in my previous feedback is that the same namespaces can be used to create Fileshares Printershares etc.

Here is a sample using the DirectoryServices with some COM interop with the activeds.dll.

using System;
using System.DirectoryServices;
using System.Runtime.InteropServices;
using activedsnet;
class Tester {
public static void Main() {
// DirectoryEntry container = new DirectoryEntry("WinNT://yourcomputernamehere, computer", null, null, AuthenticationTypes.ServerBind);
using (DirectoryEntry container = new DirectoryEntry("WinNT://scenic/LanmanServer", "administrator", "kevin", AuthenticationTypes.ServerBind))
{
IADsContainer cont = container.NativeObject as IADsContainer;
if (cont != null) {
// Share the path as PublicDocs
IADsFileShare FileShare = cont.Create("FileShare", "PublicDocs") as IADsFileShare;
FileShare.Path = @"c:\pipo";
FileShare.Description = "MyPipo";
FileShare.MaxUserCount = 2;
FileShare.SetInfo();
}
}

}
}

// K:\NetV1.1\Management>csc /r:activedsnet.dll fileshares.cs

To run the sample you need to create a Interop Assembly by running tlbimp on the activeds.tlb (found in the system32 dir)
fi .
tlbimp c:\windows\system32\activeds.tlb out:activedsnet.dll

will create a IA called activedsnet.dll containing a namespace activedsnet

Adapt the path to your own needs, compile the program and run

Success.
Willy.

# re: TV1 goes Visual Basic?

Tuesday, November 11, 2003 6:11 PM by bart

Héhé, nice to bring to attention. I'll take a look when I watch Koppen next week :)

# re: Windows PE, my hero

Saturday, November 15, 2003 12:42 AM by bart

Windows PE? Never heard of it. Can you give a link to some more info

# re: Windows PE, my hero

Saturday, November 15, 2003 12:56 PM by bart

Windows PE stands for Pre-installation Environment. It's a small Windows release of Windows XP which can run completely from a CD-ROM (compare it with running DOS from a diskette). I'm using this tool for my SchoolServer project at Microsoft Belux but unfortunately it's only available for volume license customers of Microsoft. However, there's a free alternative on http://www.nu2.nu/pebuilder/.

# MSDN TV on RSS

Saturday, November 22, 2003 12:56 PM by TrackBack

# re: ASP.NET HTTP Handlers unleashed

Saturday, November 22, 2003 9:02 PM by bart

When will your article on SQL Server Notification Services be published? Will it be available in English? Sorry, I just have an email address - pjones0619@rogers.com

# re: The magic of v3.0

Thursday, November 27, 2003 7:38 PM by bart

Nice vision, but right? Then, where would you place Windows 3.0 ^^ in your vision?

# re: The magic of v3.0

Thursday, November 27, 2003 8:32 PM by bart

I agree there is some overlap between all those "versions". DOS still existed when Windows was built. The Windows technology will live further in the .NET timeframe.

So, to answer your question: in my opinion all the pre-Windows 95 products can be placed in the DOS timeframe; it's just a graphicall shell on top of DOS, not a real OS itself (while Windows 95 was a stand-alone OS that contained a lot of DOS underneath the covers).

It was (almost) all about clients or little networks. In the v2.0 timeframe the client-server model became more and more important, while today in v3.0 there's the new magic word of "services".

# re: C# 2.0 is coming

Tuesday, December 02, 2003 8:31 AM by bart

Hi Bart

I played with generics and it's really cool, if your intresed check out my blog (http://weblogs.asp.net/jan/posts/40139.aspx, http://weblogs.asp.net/jan/posts/38949.aspx). Another great feature of .NET 2.0 is ObjectSpaces (in my opinion). I'm just getting started with it, but it looks very cool.

cu
Jan

# re: Microsoft Shared Source Initiative

Tuesday, December 09, 2003 10:09 PM by bart

One word: pathetic.

# re: Happy 2004

Wednesday, December 31, 2003 6:07 PM by bart

And a happy 2004 to you too Bart!

# re: Microsoft SchoolServer project

Sunday, January 11, 2004 7:41 AM by bart

Is your application doing all of the low level calls to AD to perform your actions, or do you export those tasks to another execution engine?

Perhaps you may want to think about the Microsoft Provisioning System to do the low level work for you. Take a look a the community site that I run:
http://groups.msn.com/MSProvisioningSystem/

Feel free to send me an email to discuss further: conrada@microsoft.com

Thanks,
Conrad Agramont

# re: New site released

Friday, January 16, 2004 11:30 PM by bart

Nice work Bart!

# re: Creating shares with "backslash-sensitive strings" :(

Tuesday, January 20, 2004 11:25 PM by bart

It seems to be fine... But i think there a problem.
I had to work with shares in vb.net and i get an error the path in my shares is higher than 260 characters...
In fact, i had to browse all the folders in my shares and for each files of my folders, i had to output to a file the ACE.
Did you get such errors with the length of your path ?

thx,

troll

# re: New site released

Wednesday, January 21, 2004 5:01 AM by bart

Just read your article about http handlers on ASP.NET. Great great work!

# re: New site released

Wednesday, January 21, 2004 5:02 AM by bart

Oh, nice step you have on your new website ;-)

# re: Windows PE, my hero

Friday, January 23, 2004 9:02 AM by bart

I've got it...

Windows Preinstallation Environment (Windows PE) 1.2
Readme Document
April 15, 2003

# re: Using ASP.NET HTTP Handlers to create a photo album

Saturday, January 31, 2004 9:49 AM by bart

Informative. Inspiring. Thanks for all your hard work!

# re: Longhorn concept video: "Commercial Real Estate"

Wednesday, February 11, 2004 6:39 AM by bart

I am new to the internet and I am web surfing and I did a search in the search engines on "real estate company blog" and I found your web blog.
I am a Halifax Real Estate Agent in Halifax, Nova Scotia, Canada and I heard blogs were specialized discussions on topics, thus my interest in searching for a real estate blog on the WWW.
I just wanted to see how the rest of the world thinks and see what trends and technology are happening in the real estate market. I also am interested in a blog for myself, that is if I can understand the technology of operating a blog and from what I see I am somewhat hesitant right now even though it was interesting reading.

Respectfully yours
James B. ,
<a href="http://www.a-purfectdream-expression.com/jamesb.html">A Halifax Real Estate Agent</a>

# re: To RSS or not to RSS

Friday, February 27, 2004 4:40 AM by bart

Thank you for the RSS

# re: The gap between Windows XP and Longhorn

Saturday, February 28, 2004 4:34 AM by bart

XP Reloaded; I like that!

btw: good to cu blogging again

# re: SchoolServer Demo on VLOD

Tuesday, March 09, 2004 7:03 AM by bart

Good luck with your demo Bart!

# re: SchoolServer Demo on VLOD

Sunday, March 14, 2004 11:38 PM by bart

It all went perfect! Congratulations to the best team ever!

# re: MSN Toolbar

Monday, March 22, 2004 7:04 PM by bart

Or use the google toolbar - also *very* effective :)

http://toolbar.google.com/

# re: CassiniEx

Friday, April 02, 2004 8:53 PM by bart

Hey Bart. Just wanted to say thanks for mentioning CassiniEx.

I just posted a new version of CassiniEx v0.94.402.

This is configured more like IIS, and you can also see a screen shot of the new Management Console I'm working on.

# re: Windows PE, my hero

Thursday, April 08, 2004 3:01 PM by bart

Check this out for a great WinPE replacement

# re: Windows PE, my hero

Friday, April 09, 2004 7:28 PM by bart

Indeed, I know of this as well, but I'm involved in a project of Microsoft Belux where we need to deploy Windows PE itself. Thanks for the feedback!

# re: Kill explorer.exe friendly?

Monday, April 19, 2004 6:10 PM by bart

Test

# re: Database cache invalidation

Tuesday, April 27, 2004 5:51 PM by bart

I get an error that the <cache> section is an unrecognized configuration section. Any ideas?

# re: Database cache invalidation

Tuesday, April 27, 2004 11:47 PM by bart

It should work if you're using the PDC build of ASP.NET version 2.0 (a.k.a. "Whidbey").

# re: Database cache invalidation

Tuesday, May 04, 2004 11:23 AM by bart

i also get

"Unrecognized configuration section cache"

when ASP.NET tries to parse web.config.

we've got the Community Tech Preview installed here. Tried it on 2 machines, same error. Interestingly no error with the <connectionStrings/> node with i believe is a ASP.NET 2.0 feature.

# re: The gap between Windows XP and Longhorn

Saturday, May 08, 2004 12:55 AM by bart

# re: Windows PE, my hero

Sunday, May 09, 2004 5:26 PM by bart

@BartPE Nice Tools Bart !, I start to disassemble ERD Commander 2003 to a new OS Based on XP,2000 & 2003 called SatanOS, a Network, Cra**** & Disa******** related OS, the Idea Is to give people all over the world the might to hack what they want to...even chinese poeople a "not controlled" Net ! We are very surprised to find Barts Tools wich are very helpfull for the "little" Project. If anyone in this Blog have any Good Idea what we can embedd in Satan OS, you are welcome to post it here: -faz

# re: Database cache invalidation

Wednesday, May 12, 2004 11:23 PM by bart

Try using 'caching' instead of cache.

# re: Windows PE, my hero

Thursday, May 13, 2004 3:37 AM by bart

...Good Idea a VNC Client if course, where do I get satanOS ?

# re: Longhorn build 4074

Tuesday, May 18, 2004 2:02 PM by bart

Care to share the ISO file (LH-4074)

# re: Abort system shutdown

Wednesday, May 26, 2004 8:26 PM by bart

Cheers...You're a life saver.

# re: .NET Framework Internals (continued)

Saturday, May 29, 2004 1:28 AM by bart

"Gacutil will definitely be your friend "

Acutally I find the shell extension you mentioned to be much more convienent. Just open explorer to c:\windows\assembly, drag your dll into it, and you are done. Also can delete with it.

Of course GACutil is scriptable...

# re: Try IIS!

Saturday, May 29, 2004 6:58 PM by bart

It's secure because nothing works :D (everything is disabled by default)

Well, they didn't make the same fault as with IIS5.0, and that's an improvement. Windows 2003 Web edition is the most secure web server ... of all IIS. Apache and others are more stable and secure though...

# re: Try IIS!

Saturday, May 29, 2004 10:55 PM by bart

Hi Geert,

Thanks for your comment and reading my blog. However, can you give us some arguments why Apache would be more secure and stable than IIS? :-) I've various reasons to say the same about IIS 6.0.

Cheers,
Bart

# re: Windows PE, my hero

Sunday, May 30, 2004 12:29 AM by bart

Just read this and I'm sure you'll make your own customized one.

http://www.xppe.com/

# re: Try IIS!

Sunday, May 30, 2004 11:43 AM by bart

IIS6 is a major step forward, but it's main problem is Windows :). My personal experience: i installed the Windows 2003 web edition, i brought a server to the data center and I connected to the Internet. After 1 minute, a famous virus (already forgot it's name, it was a virus targetting sql server servers) had infected the server (I didn't had the time to do windows update and install patches/updates - I can't do magic in 1 minute :) The virus was constantly rebooting the server, but gave me every time 30 seconds to do some stuff... So I clicked as hell to install the patch :D

Talking about webservers, IIS6 could be as stable as Apache (which has proven itself over the years). Now it's up to IIS. Oh, and never let debugger users on your IIS, they can bring down your application pool...

# re: Try IIS!

Sunday, May 30, 2004 1:54 PM by bart

Hi Geert,

That's exactly why I have this post on my blog: http://community.bartdesmet.net/blogs/bart/archive/2004/05/07/262.aspx#FeedBack

Cheers,
Bart

# re: Try IIS!

Tuesday, June 01, 2004 9:02 PM by bart

I should have known this earlier ;)

The command line is a vewwy powerful Windows tool :)

# re: Windows XP SP2 RC2 on its way

Tuesday, June 01, 2004 9:06 PM by bart

On the last security summit Jürgen van Dievel (?) talked about a SP which would be very strict about security, and he was sure it would give a lot of application problems (because the security will be véry thight).

looking forward to it :-)

# re: Windows XP SP2 RC2 on its way

Tuesday, June 01, 2004 9:09 PM by bart

I think you mean Jurgen Van Duvel. Sounds that we were there both that day (but I was attending the developers track). The point is in fact that certain points will be disabled by default indeed (thing that have to do with DCOM etc). Furthermore there is of course the built-in firewall that will be enabled by default as well, therefore blocking all "crucial ports".

# re: Windows XP SP2 RC2 on its way

Saturday, June 05, 2004 12:38 PM by bart

Yes, Jurgen Van Duvel (although I rather like Palm or Kriek). Blocking all crucial ports... sounds like helpdesk people will be going through hell shortly :-)

# re: Office 2003 Research Services

Saturday, June 05, 2004 12:39 PM by bart

hmm sounds focking cool :-)

# re: Symbolic links on NTFS

Tuesday, June 08, 2004 7:45 PM by bart

These are hard links, not symbolic links!

# re: Microsoft SchoolServer project

Thursday, June 10, 2004 10:03 PM by bart

Wanneer komt de schoolserver uit? Ik kan echt niet meer wachten om ons netwerk eindelijk op schoolniveau te kunnen beheren...

Kristof Boeckx
ICT-Coördinator VTI Kontich
kristof@defantasie.com

English:
When will the schoolserver be released? I can't wait to manage our schoolnetwork on a school-based level.

# re: Longhorn build 4074

Friday, June 18, 2004 4:52 PM by bart

can someone post a link that works please

# re: Anti-spam technology in development

Thursday, June 24, 2004 5:49 PM by bart

Solving the spam problem with Caller ID technology would be great.
But according to experts, this technology has both strong points and weaknesses. It requires mail servers to download the entire content of spam messages, then it only checks for it for the sender IP address before rejecting them.
The Microsoft Outlook 2003 spam filter wasn’t good enough for me too, so I installed a plug-in for Outlook - <a href="http://www.spambully.com/">Spambully</a>. It’s a Bayesian spam filter and works almost perfect for me.

# re: Anti-spam technology in development

Thursday, June 24, 2004 5:51 PM by bart

Solving the spam problem with Caller ID technology would be great.
But according to experts, this technology has both strong points and weaknesses. It requires mail servers to download the entire content of spam messages, then it only checks for it for the sender IP address before rejecting them.
The Microsoft Outlook 2003 spam filter wasn’t good enough for me too, so I installed a plug-in for Outlook - Spambully (http://www.spambully.com). It’s a Bayesian spam filter and works almost perfect for me.

# re: Windows XP SP2 RC2 on its way

Monday, June 28, 2004 5:30 PM by bart

Yep, that was me speaking on that event ;)
Microsoft is trying to find the right balance currently between tight security by default and not breaking (too) many end user experiences / functionality.
However this does not mean that there won't be any issues. As I stressed over the last couple of months: test Windows XP SP-2 as soon as possible. That is the only way to make sure you're not in for a big surprise ;)
http://www.microsoft.com/windowsxp/sp2/default.mspx

# re: ASP.NET Forums v2.0 Alpha released

Tuesday, June 29, 2004 7:37 AM by bart

sd

# re: TechEd - The Tuesday story

Wednesday, June 30, 2004 4:53 PM by bart

Hello Bart,

my comment on: "...learned to know some nice guys."

It's time to look for a nice girl now you're in 'Holland'. ;-)

Have fun and enjoy the 'holidays'.

Koen D'Haese aka K#

# re: Abort system shutdown

Wednesday, June 30, 2004 9:06 PM by bart

THANK YOU!!!

# re: Mobistar launches SmartPhone (and I have one :-))

Thursday, July 01, 2004 3:05 PM by bart

for Italian fans i've find one, the best site with all arguments is http:www.pda-phones.net they have also some links where to buy the other Qtek, 8080 that is smaller, is not big like a pda but is like a normal phone, the same windows ce but smaller

# re: Mobistar launches SmartPhone (and I have one :-))

Thursday, July 01, 2004 3:06 PM by bart

for me it's ok here i've founded more instruction in italian

# re: Mobistar launches SmartPhone (and I have one :-))

Thursday, July 01, 2004 3:07 PM by bart

excuse me for the error i made, i repost the link here
http://www.pda-phones.net

# re: TechEd on Wednesday (not all about parties this time)

Thursday, July 01, 2004 7:45 PM by bart

Bart,
can you post detailed informations about what is said about VSMT during Wednesday?


Thanks

# re: Generating Word documents with XML and XSLT

Friday, July 02, 2004 12:16 PM by bart

Thx for your example, can you please provide me the different documents.

Because I don't understand everything.

Thank you

# re: TechEd on Wednesday (not all about parties this time)

Saturday, July 03, 2004 10:15 PM by bart

Take a look at http://bink.nu/DesktopModules/ArticleDetail.aspx?ArticleID=2103 for more information (a post of fellow-MVP "Bink").

# re: TechEd on Wednesday (not all about parties this time)

Sunday, July 04, 2004 4:27 PM by bart

I posted that informations from myself on my blog. I wanted to have some more informations not published till now about what you asked and what Microsoft answered at Q&A session time.

Thanks

# re: Impress yourself with "Express"

Tuesday, July 06, 2004 5:15 PM by bart

I installed the VBExpress but finally after the download and install/setup no icons are displayed.. it looks like it is completely vanished from my machine.

Tried this on 2 different machine and both had the exact same outcome.

Anything special that needs to be done after installation?

# re: ISA Server 2004 + Exchange 2003 + Virtual Server = the max

Saturday, July 10, 2004 5:06 PM by bart

do you know how to setup a ISA server 2004 with Exchange 2003 using RPC over HTTPS?

Love to hear more.
THanks,
Mike

# re: ISA Server 2004 + Exchange 2003 + Virtual Server = the max

Sunday, July 11, 2004 12:53 AM by bart

I'm not really an ISA expert, that is, I know how to setup the server and how to do the basic configuration and I'm currently investigating the SDK to develop solutions based on ISA 2004. However, I don't know all kinds of scenarios. I know there is a kind of task in ISA 2004 to publish an Exchange 2003 server with OWA, POP3, IMAP4, etc and I think you can publish RPC for Exchange 2003 that way as well. For more information, you can take a look at www.isaserver.org which is a 3rd party (community) site that focuses on ISA Server 2000 and ISA Server 2004. If you don't find the answer, post your question on the forums over there.

Cheers,
Bart

# re: Warning: upgrade from Virtual Server 2005 beta to RC1

Friday, July 16, 2004 6:14 PM by bart

Regarding "bugs" - no, not on your machine only - I too get the "The service principal name for the VMRC server..." issue as well, and I cannot connect to my Virtual Servers :(
Did you get any joy sorting this out?

# re: Longhorn build 4074

Saturday, July 17, 2004 7:18 AM by bart

how do i get this fantastic longhorn file and program

# re: Abort system shutdown

Thursday, July 22, 2004 9:06 PM by bart

THANK YOU!1!!!!

# re: Longhorn build 4074

Friday, July 23, 2004 5:33 PM by bart

How do you sign up to MSDN, I can find my .NET passport ID but it's to big.
GreetZ Barto!!!

# re: StackOverflowException during XML Serialization

Saturday, July 24, 2004 7:17 AM by bart

Welcome back to your blog ;)
I´ve missed you..

# re: StackOverflowException during XML Serialization

Saturday, July 24, 2004 11:23 PM by bart

I've been off for a short holiday.

# re: [FUNNY] Rule one when translating software - review the translation

Thursday, August 05, 2004 2:36 AM by bart

Hey Bart,

"Onderkast" is a valid dutch word and means exactly the same as the word "lowercase" in English. So there's nothing wrong with that translation...

See http://www.vandale.be/opzoeken/woordenboek/?zoekwoord=onderkast


# re: System.Web.MailMessage - SMTP with authentication?

Tuesday, August 10, 2004 10:36 PM by bart

# re: System.Web.MailMessage - SMTP with authentication?

Friday, August 20, 2004 3:37 PM by bart

Is there anybody do this work in C++?

# re: Securing FTP on IIS 6

Monday, August 23, 2004 5:28 AM by bart

Take note that in W2k AD you need to extend the AD schema first, for W2k3, the extended fields are already there.

Cheers.

# re: ASP.NET Security - The FAQ - part 3

Tuesday, August 24, 2004 12:03 PM by bart

Nice, read the complete series and discovered some interesting things!

# re: Exchange 2003 Anti-Spam Filter

Tuesday, August 24, 2004 1:12 PM by bart

aaaa

# re: Exchange 2003 Anti-Spam Filter

Tuesday, August 24, 2004 1:13 PM by bart

good

# re: ASP.NET Security - The FAQ - part 2

Tuesday, August 24, 2004 2:00 PM by bart

as i remember the aspnet_setreg tool can only be used for pre-defined sections

so encrypting the dsn key in the appSettings want work if i'm correct

the only sections you can use it for are
<identity userName= password= />
<processModel userName= password= />
<sessionState stateConnectionString= sqlConnectionString= />

so basically you can not use if for the appSettings

please correct me if i'm wrong over here!!

# re: ASP.NET Security - The FAQ - part 2

Wednesday, August 25, 2004 12:14 AM by bart

Indeed, this is right and (since my post was done rather late that day) it might not be completely clear in my initial post. The sections you mention are the only ones which are supported (although this will change towards the Whidbey release of ASP.NET).

For storing secrets in <appSettings> in an encrypted way, use DPAPI as well (as ASP.NET is doing itself using aspnet_setreg). More information can be found on http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnnetsec/html/SecNetHT08.asp.

# re: Abort system shutdown

Thursday, August 26, 2004 3:23 AM by bart

nice! I would have never thought of that!

# re: Creating shares with "backslash-sensitive strings" :(

Thursday, September 02, 2004 10:14 PM by bart

Hi. I'm just learning but, when I run this line:

tlbimp c:\windows\system32\activeds.tlb out:activedsnet.dll

it gives me activeds.dll not activedsnet.dll as you have indicated here. What am I doing wrong>

Thanks.

HardwareGuy

# re: Generating Word documents with XML and XSLT

Saturday, September 04, 2004 5:24 PM by bart

Have a look at this mate:
http://www.tkachenko.com/blog/archives/000024.html

it's quite easy and really cool stuff!

# re: Warning: upgrade from Virtual Server 2005 beta to RC1

Sunday, September 05, 2004 9:28 PM by bart

I too get that service principal name error. What the he!! is that about?! I found this forum purely because I am trying to find someone who has fixed this issue. Help!

# re: Abort system shutdown

Tuesday, September 07, 2004 4:43 PM by bart

What if the shutdown -a will not execute on a windows 2000 machine

# re: ASP.NET Security - The FAQ - part 1

Tuesday, September 14, 2004 6:47 PM by bart

Nice post!

Keep up the good work.

# re: Protecting .doc files in ASP.NET

Wednesday, September 15, 2004 10:08 AM by bart

Just to illustrate how popular the question is actually. The next question I was answering was basically the same (but now for PDF file protection) :-): http://www.asp.net/Forums/ShowPost.aspx?tabindex=1&PostID=692594#692617

# re: Database cache invalidation

Wednesday, September 15, 2004 12:21 PM by bart

According to the 2.0 guided tour, you need not do the web.config work for Yukon:

http://beta.asp.net/GuidedTour/s24.aspx

Yukon doesn't do table-level locking, it detects changes at the row-level.

(However, I still can't get it to work!)

Cheers,

Dave

# re: Symbolic links on NTFS

Wednesday, September 15, 2004 1:51 PM by bart

shouldn't the result of
type text.cpy be Hello for true symbolic linking ?

# re: Symbolic links on NTFS

Wednesday, September 15, 2004 1:52 PM by bart

oops sorry, didn't read far enough :)

# re: Symbolic links on NTFS

Wednesday, September 15, 2004 2:25 PM by bart

but (as already stated) this is not a symbolic link at all!
try to do this:
echo joker>joker.txt
fsutil hardlink create hoho.txt joker.txt
del joker.txt

type hoho.txt still works..
wheras in unix a file not found alike message would occur..

# re: Do you like a brainteaser? Try this one (ASP.NET 2.0 Directory Name Changes)

Friday, September 17, 2004 11:20 PM by bart

Omg.. I hope the names will be confgurable..

# re: ASP.NET Forums v2.0 Alpha released

Monday, September 20, 2004 6:25 PM by bart

# re: Sparse files

Thursday, September 23, 2004 10:59 PM by bart

Do you know if there is a way to somehow scan a non-sparse file for zero data, set the file sparse, and then flag those ranges in the sparse file? In other words, would it be possible to "convert" a non-sparse file to a sparse one automatically?

# re: My laptop "SARASTRO" - BIOS update rocks :-)

Sunday, September 26, 2004 4:27 AM by bart

Bart! Please say it ain't so! Power User is *not* running with least privilege! It's sometimes called admin-lite because it has most of the dangerous privileges that the Administrators group has. You're not protecting yourself from anything by running as a Power User.

# re: My laptop "SARASTRO" - BIOS update rocks :-)

Sunday, September 26, 2004 2:17 PM by bart

Indeed Don, thanks for the correction. In fact I have two accounts, one power user (non-admin) for installation tasks etc and a normal developer user account but I was a little confused since I just finished my Active Directory setup. That time, I was still running under the context of my 'install' account (which is a Power User) since normal users don't have the right to reboot/shut down the machine by default (W2K3 in a domain setup). Now, my normal user account has the right to shut down the machine and now I'm indeed running as a normal user on the system.

Thx for the remark; I've added some little remark in the initial post, pointing to this comment.

# re: Warning: upgrade from Virtual Server 2005 beta to RC1

Monday, September 27, 2004 8:36 PM by bart

System Event Log keyed me to the answer of this one:

The application-specific permission settings do not grant Local Activation permission for the COM Server application with CLSID {DA3111BC-1BD7-4884-A535-8470D36028F7} to the user... This security permission can be modified using the Component Services administrative tool.

Opened up the properties for the Virtual Server component and noticed the Everyone was on the Deny list for COM+ Activation in the Security properties. I added the user I'm hitting the page as with Local Activation permissions and all is well. Good luck J & C, sorry to hijack yer comments B#.

# re: RAMDISK on Windows Server 2003

Wednesday, September 29, 2004 4:12 AM by bart

dfdfdfdfd

# re: RAMDISK on Windows Server 2003

Wednesday, September 29, 2004 4:13 AM by bart

fghfg

# re: ISA Server 2004 + Exchange 2003 + Virtual Server = the max

Tuesday, October 05, 2004 12:52 AM by bart

I'm considering ISA 2004 as a firewall/IDS for our LAN, which includes an Exchange 2003 server. Any addtional comments on ISA 2004 would be welcome, particularly about its intrusion detection/prevention features.
Thanks in advance.

# re: Adventures in Monad (Part 0) - Introduction

Tuesday, October 05, 2004 11:39 PM by bart

# re: Adventures in Monad (Part 1) - Update about version availability

Tuesday, October 05, 2004 11:39 PM by bart

# re: ASP.NET Security - The FAQ - part 2

Thursday, October 07, 2004 8:22 AM by bart

am getting the following error in web.config where the connection string is read from the registry.

Format of the initialization string does not conform to specification starting at index 0

Could you please let me know what the problem is

# re: Community solutions - FTP User Isolation with Active Directory

Sunday, October 10, 2004 4:34 PM by bart

Would be nice if it wouldn't be restricted to MVP's only...

# re: Windows PE,

Tuesday, October 12, 2004 1:23 AM by bart

i wont dowanlod winpe

# satanOS, Satanic Boot CD

Monday, October 18, 2004 7:59 PM by bart

The Satanic Boot CD is done:

Check this out

and tell me what do think about it !

@ eval thx for the link, but...

If anyone know how to publish without getting trouble
Anybody with P2P server out there, please contact me

<a href="http://s4t4n.s4.funpic.de/Shots01.htm"><font color="#75CA02">Screenshots</font></a></font></p>

# satanOS, Satanic Boot CD

Monday, October 18, 2004 8:00 PM by bart

sry bad link please take the new one: http://s4t4n.s4.funpic.de/


# re: Windows PE, my hero

Thursday, October 21, 2004 10:10 AM by bart

wer macht for me ne xp pe CD..bezahl auch was..!


galeb@online.hr

# re: FileSystemWatcher event is triggered twice (solution)

Monday, October 25, 2004 4:33 PM by bart

The FileSystemWatcher also isn't that accurate: if you create a lot of files in a short time, the filesystemwatcher will skip some (I believe because of a in-memory buffer which is too small).

# re: Protecting .doc files in ASP.NET

Monday, October 25, 2004 5:06 PM by bart

good thinking :-)

# re: FileSystemWatcher event is triggered twice (solution)

Monday, October 25, 2004 5:54 PM by bart

Hi Geert,

Thanks for your feedback. The remark about the accuracy of the FileSystemWatcher is true indeed. This has to do with the underlying Win32 API (*ChangeNotification functions; ReadDirectoryChangesW) being called by the framework and the use of an internal buffer with a default size of 4K (which can hold about 70-80 changes). Each event takes a series of bytes (16 to start with and additional ones for the Unicode-formatted filename). It's possible to modify the buffer size (with caution!) using the InternalBufferSize property. Since the contents of the buffer are non-paged in memory, you should avoid doing this as much as possible (swapping to disk will be denied) since this can imply a performance drop.

# re: ASP.NET v2.0 - About Whidbey

Saturday, October 30, 2004 11:12 AM by bart

Hello sir,
i am really get confused that what is ASP.NET v2.0 - About Whidbey ?
is it New version of ASP.Net of Microsoft or It is different from Microsoft. so why its Whidbey..

Thanks
Shreekant

# re: Longhorn build 4074

Sunday, October 31, 2004 12:49 PM by bart

request to lh 4074 link
Please send me link
Abhijit_khatate@yahoo.co.in

# Distinguish Your VMs!

Tuesday, November 02, 2004 5:37 AM by TrackBack

# Distinguish Your VMs!

Tuesday, November 02, 2004 5:37 AM by TrackBack

# comment

Tuesday, November 02, 2004 8:44 AM by bart

generall it is used in the application of linking between one system to another but specially in the case of some web application.xml is the very good example of this thing.

# re: Finally 7200 RPM harddisk for my laptop?

Thursday, November 04, 2004 3:44 PM by bart

When I upgraded my Dell hard drive, I didn't even look to see if it had a different connector. When I went to replace the hard drive I was a little worried, but then realized that there was a small detachable connector on the Dell hard drive that I just took off from the Dell hard drive and voila, it worked fine. Could yours have the same detachable connector?

# re: FileSystemWatcher event is triggered twice (solution)

Thursday, November 04, 2004 11:25 PM by bart

Just use safe coding practices and do not (exclusively) rely on the returned file name. For example: for files that are created, check all file names to find the new files. Maybe less performant, but very lickely to be more accurate.

# re: Congratulations Mr. Bush

Sunday, November 07, 2004 7:57 PM by bart

No he won't. Ever seen an ass looking at .NET sites?

# re: About IAsyncResult, Invoke, BackgroundWorker and much more

Sunday, November 07, 2004 8:02 PM by bart

They also could use the .WaitAny() or WaitAll() methods to tackle the 'non-deterministic' behaviour...

# re: ASP.NET Security - The FAQ - part 2

Friday, November 12, 2004 4:43 PM by bart

I get the same error

Format of the initialization string does not conform to specification starting at index 0

Any joy?

# re: Branding a Virtual PC startup (or better: the startup of the guest OS being W2K3)

Sunday, November 14, 2004 7:44 PM by bart

I'm having trouble actually creating the BMP file. I'm a professional graphic designer, so it's not for lack of ability : )

It's the technical spec for the image you outlined. On another site [http://www.sysinternals.com/ntw2k/info/bootini.shtml] the image requirements are listed as: "a 16-color (any 16 colors) 640x480 bitmap".

The listed image sizes are different, also 4bit = 16 colours, where as 16bit = 32 million colours.

I'm not sure which are the correct specs, but I'm going to try both.

Thanks,

S.

# re: IIS configuration using managed code

Tuesday, November 16, 2004 7:34 AM by bart

Hm, I love it too!!! (especially because I wrote an IIS6 web control panel using the old .NET 1.1 techniques...)

Do you know of any samples or articles about this? If not, maybe a good idea for you to write something more in-depth (with sourcecode) about it! :-)

# re: The damn big advantage of Google ... it's easy to navigate to in IE (+ countermeasure)

Tuesday, November 23, 2004 3:59 PM by bart

Not being funny, but wouldn't it be easier to add a shortcut to seach.msn.com to your links toolbar, rather than disabling google access completely from your machine?

Alternatively, you could install MS Powertoys and then add msn as a search keyword (as well as gg for google). That way you can type "gg my test phrase" or "msn my test phrase" in your address bar and save even more time.

If you fancy hacking around in the registry to do the same thing then take a look at:-

http://support.microsoft.com/kb/198279/EN-US/

Your way is hardcore, I'll give you that ;-)

# re: To RSS or not to RSS

Friday, November 26, 2004 12:52 PM by bart

hi friend, it seems that i am in different site,
oh no its the same site where I wanna go but no comments
are appearing here related to the topic. May be I am wrong
but friend got your site while searching blog in search
engine and it is nice to say that i visited ur site
in my friend's house who is layout controller
of website's. He told me that this particular
site contain reasnable layouts and good contents
which is relevant to this site. Rarely we get this
type of site. Really appreciates your blog page. Thnks.

# re: Dynamic assembly loading (useful when developing plug-in driven frameworks)

Saturday, November 27, 2004 12:03 AM by bart

Mmmmm, Reflection; I love it! Nice example!

One year ago I did a POC project that was a framework for sort of plug-ins. We used a lot of custom attributes to "glue" everything together.

cu
Jan

# re: ASP.NET "Issue Tracker" Starter Kit

Saturday, November 27, 2004 6:30 AM by bart

testing

# re: The damn big advantage of Google ... it's easy to navigate to in IE (+ countermeasure)

Friday, December 03, 2004 5:26 AM by bart

Hehe, you wrote "Force yourself to go to Google instead of MSN as follows" :-D
Coincidence or not? :p

# re: Dynamic assembly loading (useful when developing plug-in driven frameworks)

Friday, December 03, 2004 5:29 AM by bart

Thanks for sharing this example. For an application that I'm currently writing, I was looking for a way to accomplish this "plugin" functionality without spending a lot of development time (deadlines, you know...), and this is indeed an easy but nevertheless powerfull way.

# re: Presentation tip with cool PPT features

Friday, December 03, 2004 5:35 AM by bart

Nice! I just tried it and it works like a charm. However, I don't like the fact that you have to click in the white rectangle (the activex control) first to establish the connection (and it looks bad too). It would be much prettier if the server's screen would be right there when showing the slide.
Can't you use a Slide_Load event or something like that? I guess I could google, euhm, MSN for it, but maybe you can tell me? :)

# re: Back from IT Forum

Friday, December 03, 2004 5:37 AM by bart

You should upload your pictures of IT Forum 2004 to your MSN space! :-)

# re: IIS configuration using managed code

Friday, December 03, 2004 5:39 AM by bart

Did you already write some code using these new classes?
Do you mind sharing it? (or maybe writing a new blog entry about it ;-))

# re: The damn big advantage of Google ... it's easy to navigate to in IE (+ countermeasure)

Friday, December 03, 2004 7:23 PM by bart

Damn, thanx dotnetjunkie for the comment; of course I applied a change :-)

# re: Windows Server 2003 SP1 RC1 - Security Configuration Wizard

Wednesday, December 08, 2004 6:41 PM by bart

Bart,

If you really feel that strong about it... submit the feedback to: https://www.windowsserverfeedback.com/

But I'd say you do not need to install it by default, unless you are setting up a new server. Or you are installing the SP in 'interactive mode'. I'd even launch it straight after the install, so the admin knows about it and can test it on the 'test SP1 deployment server'.

If I'm not mistaken, this tool can be run against remote servers, and I believe that is how you would eventually run this on a production server, after doing a remote SP1 install.
The reason for not doing the default install, I would assume, is because production servers (hosted in some datacenter) need to be up and running as soon as possible. Minimizing down-time and minimizing the risk of the SP breaking some apps/services on a production server. So just patching what is there and not adding to much new stuff.

But then again, it has been ages since I installed a server on my own ;-)

# re: Windows Server 2003 SP1 RC1 - Security Configuration Wizard

Wednesday, December 08, 2004 9:21 PM by bart

Thanks for the comment Rudi. A series of comments were already sent to the website you mentioned (which should be pretty wellknown right now since we've been distributing light-bulb stressballs at IT Forum: "Share your ideas! WindowsServerFeedback.com").

I agree that the patching procedure for a production server is indeed more crucial than patching a desktop OS so downtime should be reduced as much as possible. The tool can run against remote machines indeed.

So, basically, what I'm missing is the "notification" for the people that this new tool is indeed available since the Service Pack installation itself does not point people to this brand new (very useful) feature at all. Maybe the concept of a "Security Center" in W2K3 would make sense as well, maybe in the format of an MMC instead of a Configuration Panel plug-in (these comments will be submitted soon when I have a "feedback batch" ready).

# re: Kill explorer.exe friendly?

Wednesday, December 15, 2004 8:28 AM by bart

a

# re: Mail up again - No more "550 5.7.1 Unable to relay for ..."

Wednesday, December 15, 2004 4:22 PM by bart

Hi,

How did you resolve this issue, cause I'm having the same problem. Also relay was open on this server I just turned it off.

thanks
Nadia

# re: ASP.NET Security - The FAQ - part 2

Wednesday, December 15, 2004 7:49 PM by bart


Check the ACL on the registry keys. You'll get this if it can't access the encrypted values.

# Finding out whether your Messenger buddies have a blog

Thursday, December 16, 2004 6:50 PM by TrackBack

# re: A night of sweet XAML dreams with Avalon

Thursday, December 23, 2004 7:15 AM by bart

I believe there is a workaround for the theme issue

http://msdn.microsoft.com/Longhorn/understanding/pillars/avalon/avnov04ctp/default.aspx

see section "What's Missing From This Release?"

Shorty

# re: A night of sweet XAML dreams with Avalon

Friday, December 24, 2004 4:48 PM by bart

Indeed, there is a workaround (adding a few lines for the theme), but for this experimental phase "net stop themes" is sufficient for me.

# re: PSP Episode 4 - Role-based secury unleashed

Sunday, December 26, 2004 12:41 AM by bart

Correction concerning the <location> tag:

<location path="/admin">
<authorization>
<allow roles="admin" />
<deny users="*" />
</authorization>
</location>

should be

<location path="/admin">
<system.web>
<authorization>
<allow roles="admin" />
<deny users="*" />
</authorization>
</system.web>
</location>

# re: Longhorn build 4074

Sunday, December 26, 2004 1:22 PM by bart

please send me a direct download link for windows longhorn 4074
i've been trying to get it since 4 month but i couldn't. So can someone help?
Plz e-mail the link to my e-mail add:
hasan.fakih@gmail.com

# Bart's PSP (Personal Security Push)

Monday, December 27, 2004 6:34 AM by TrackBack

# Bart's PSP (Personal Security Push)

Monday, December 27, 2004 6:34 AM by TrackBack

# Bart's PSP (Personal Security Push)

Monday, December 27, 2004 6:34 AM by TrackBack

# Bart's PSP (Personal Security Push)

Monday, December 27, 2004 6:34 AM by TrackBack

# Bart's PSP (Personal Security Push)

Monday, December 27, 2004 6:34 AM by TrackBack

# Bart's PSP (Personal Security Push)

Monday, December 27, 2004 6:35 AM by TrackBack

# Bart's PSP (Personal Security Push)

Monday, December 27, 2004 6:35 AM by TrackBack

# Bart's PSP (Personal Security Push)

Monday, December 27, 2004 6:35 AM by TrackBack

# Bart's PSP (Personal Security Push)

Monday, December 27, 2004 6:35 AM by TrackBack

# Bart's PSP (Personal Security Push)

Monday, December 27, 2004 6:35 AM by TrackBack

# re: PSP Episode 4 - Role-based secury unleashed

Monday, December 27, 2004 9:56 AM by bart

Be careful when using roles such as BUILTIN\Administrators. In localized versions of Windows, this name can be different (e.g. BUILTIN\Administradores or BUILTIN\Administrateurs). Make this configurable!

use WindowsBuiltInRole enum....

dominick

# re: PSP Episode 5 - How to store passwords?

Monday, December 27, 2004 9:58 AM by bart

hi,

also consider using PasswordDeriveBytes - this takes a salt and a number of iterations to generate the hash...

bye
dominick

# re: PSP Episode 4 - Role-based secury unleashed

Thursday, December 30, 2004 5:49 AM by bart

Thanks for the comment Dominick. I'll be blogging about these enums soon (as well as enhancements in the v2.0 space concerning ACLs, SIDs etc without direct Win32 calls), the pitfall was just some last thing I had in my mind for that particular (looooong) post.

However, the major problem I came across some time ago was to make web.config <authorization> sections flexible enough to work with Administrators only access but still make it configurable. BUILTIN\Administrators is allowed in the <allow roles=""> tag, but that is fixed for a certain locale. SIDs don't work over there...

# re: Securing FTP on IIS 6

Wednesday, January 05, 2005 4:19 PM by bart

Hi I would really like to do this on our server, but a newbie with AD. How can I extend the ad in W2k?

# re: Longhorn build 4074

Thursday, January 06, 2005 10:06 PM by bart

please send me a direct download link for windows longhorn 4074.

web_sailor@hotmail.com

# re: Longhorn build 4074

Friday, January 07, 2005 12:50 AM by bart

This seems to be a very popular post on my blog. To make it clear: currently, there are only two technology preview releases (build 4051 aka PDC build and build 4074 aka WinHEC build) available. The latter one is available through MSDN Subscriptions. So, in order to get it you *must* be an MSDN subscriber (msdn.microsoft.com/subscriptions). A beta of Longhorn is likely expected somewhere this year, but dates are not officially announced yet.

# re: Securing FTP on IIS 6

Friday, January 07, 2005 12:53 AM by bart

On Windows Server 2003 you can just add the server to the "domain controller" role using the "Configure Your Server Wizard". Alternatively, you can run the dcpromo command using Start, Run which will guide you through the process of setting up Active Directory on your machine. Please note that the installation and configuration of DNS is also required (but this will be done automatically if not present already). But it's still important to be aware of the why and how of the DNS requirement.

# re: Warning: upgrade from Virtual Server 2005 beta to RC1

Friday, January 07, 2005 3:50 AM by bart

I have nothing inthe "Deny" list, and this software was working on my system. The trial expired, I've installed a purchased copy, but same error no matter what.

Tried changing the "Virtial Server", as well as the "VMRC components. Also, tried adding SERVICE.

The service that the Virtual Server runs under in via "NT Authority" and the account name is not available to add within apps or the DCOM+ components.

-- Rob --

# re: Warning: upgrade from Virtual Server 2005 beta to RC1

Friday, January 07, 2005 3:54 AM by bart

Regarding my previous comments, here's the error:

The service principal name for the VMRC server could not be registered. Automatic authentication will always use NTLM authentication. Error 0x8007200b - The attribute syntax specified to the directory service is invalid.


The event ID 1029 doesn't exist anywhere.

The user is "NT AUTHORITY\NETWORK SERVICE" which you can't add to anything.

The service is running, but it isn't working, and it cannot be administered.

I am running Windows XP SP2 with the latest available patches and updates.

When I originally installed Virtual Server on XP with SP1, it was great. Then, installing SP2 broke it. I fixed the DCOM+ component, and then it worked again. For 180 days or so.

I'm stuck!!

-- Rob --

# re: Warning: upgrade from Virtual Server 2005 beta to RC1

Friday, January 07, 2005 4:55 AM by bart

As a followup, I gave excessive permissions, and added SYSTEM, and then rebooted, and now my system is working. No errors. I just posted a message requesting the appropriate permission settings on the Microsoft forum for Virtual Server, and I'll post any helpful responses here.

Thanks to Bart for letting me post this stuff!

-- Rob "I" --

# re: C# 2.0 is coming

Friday, January 07, 2005 11:42 AM by bart

It's 2005 now, and still no C# 2.0

# re: C# 2.0 is coming

Friday, January 07, 2005 5:59 PM by bart

The C# 2.0 language specification is already complete for quite some time now, just like the compiler and the basic framework. The majority of the work is now focused on the tools, which you can except in mid-2005 together with the SQL Server 2005 product. I agree it takes time, but it's definitely worth the wait and quality, security are the primary focuses, not time schedules.

# re: Mail up again - No more "550 5.7.1 Unable to relay for ..."

Friday, January 07, 2005 11:03 PM by bart

I would love to find a solution to this also I am having the same problem exept mine has become more sporatic.

ant suggestions

# re: StackOverflowException during XML Serialization

Saturday, January 08, 2005 2:44 AM by bart

You helped me out! Thanks. Same problem, but I was seeing it on Serialize, not Deserialize. Why? Because my Getter was causing the loop, not the setter. Yucky. The reason I had the set/get in the first place was to make the public property not serialize. I guess I'll have to find another way. :-)

# ClickOnce - Not an ad for your camera!

Wednesday, January 12, 2005 9:01 AM by TrackBack

# ClickOnce - Not an ad for your camera!

Wednesday, January 12, 2005 9:33 AM by TrackBack

# re: Mail up again - No more "550 5.7.1 Unable to relay for ..."

Wednesday, January 12, 2005 9:02 PM by bart

Make sure you have a recepient policy for the domain you're trying to send mail on. Without it, your server thinks it's relaying for foreign domains.

# re: Virtual PC - Cool tip

Thursday, January 13, 2005 10:03 PM by bart

This is really very cool. I was giving some demos to big audiences today, and I only wish I had have known about this keystroke sequence _before_ the demos. Live and learn though!

# Posting from InfoPath

Sunday, January 16, 2005 11:43 AM by TrackBack

# re: How to boost your managed code performance? Some tips...

Monday, January 17, 2005 11:54 PM by bart

I'm curious if there is another approach to try..catch..finally for cleaning up SQL connections.

From the blog entry....

try {
//use conn
}
catch (SqlException ex) {
//catch it; don't attempt to close over here
}
finally {
conn.Close(); //or better, check connection state first using conn.State
}

I'm actually using a "using" block to ensure that the SQL Connection is always disposed of correctly.:

try
{
using( SqlConnection con = new SqlConnection(...)
{
// do sql calls
}
}
catch (SqlException ex)
{
//catch it; don't attempt to close over here
}

# re: How to boost your managed code performance? Some tips...

Wednesday, January 19, 2005 1:24 AM by bart

Hi Boris,

The using pattern (which I blogged about before) is definitely a good choice as well. You could actually discuss about the order of a try and using block however when used together. If you're really curious about this, I'd invite you to take a look at the IL-code being generated when you use the using pattern and try...catch pattern to see what's really happening behind the scenes. If I find some time, I'll post some info on that too.

# re: Protecting .doc files in ASP.NET

Thursday, January 20, 2005 8:43 PM by bart

Bart,

Do you have more detailed code of rendering the file as Binary? We're having to use this protection scheme for files now, but I haven't had much experieince with ouputting to the binary stream in ASP.NET, and I've having a bear of a time getting this to wrok.

Thanks,
Dave

# re: Use BITS for your own downloads

Sunday, January 23, 2005 3:06 AM by bart

Last year I had the chance to work with BITS as an application building block. It has many advantages over implementing error tolerant downloading yourself. The downloading occurs in an NT service, which is great for multi-user machines. And it usually handles network faults well. But it does have some issues that can make it hard to use correctly.

It supports authentication, but auth failures are treated as transient errors so BITS keeps trying until the error limit is reached. The user/pass should be verified before creating the job. The transient vs hard error states caused me some other problems that I don't fully recall. Note that after a hard error the job and downloaded data is lost.

When downloading large sets of individual files you must decide to have 1 file per job or all files in 1. The files of a job are only available when the entire job completes. But 1 file per job also can be bad because creating a new job gets really slow as the number of existing jobs grows. I am talking about thousands of files here.

The HTTP server must support partial download ranges. No problem, they all do, except for when ASP/PHP pages serve the files. Fortunately it is easy to implement the "Range" request header and "Content-Range" response header in your ASP page. See sections 14.35 and 14.16 of the spec (RFC2616).

As a side note, BITS also is very useful for uploading. Just install the IIS extension, enable a vdir and everything will work in reverse (but only one file per upload job).

On the whole I would warn people to be careful when using BITS as an API. It could save you some time, but you also may spend an unexpected amount of time fighting with little oddities of BITS itself.

# re: Longhorn build 4074

Sunday, January 23, 2005 6:49 PM by bart

please send me a direct download link for windows longhorn 4074.

# re: Longhorn build 4074

Monday, January 24, 2005 6:13 PM by bart

please send me a direct download link for windows longhorn 4074


soulfly.88@caramail.com

# SwitchBL8's gebazel - BITS

Wednesday, January 26, 2005 9:43 AM by TrackBack

SwitchBL8's gebazel - BITS

# re: .NET Framework Internals (continued)

Thursday, January 27, 2005 3:37 PM by bart

I hope to get a reply. I am trying to delay sign 3 different components using the public key portion of 3 different key pairs that i have created. Lets say the components are 1,2 and 3 where 3 contains references of 1 and 2 and all the components are COMVisible (they will be deployed on COM+ in future). Now i have a test.exe which initialises the component 3 and calls a function on it.
It throws the error "An Unhandled Exception of type 'System.IO.FileLoadException' occured in Unknown module. Strong name validation failed for assembly 3''

Can you suggest a solution or workaround for this??
Thanks

# re: Securing FTP on IIS 6

Saturday, January 29, 2005 10:17 PM by bart

Very good info. Made some modifications to set a specified users properties.

using System;
using System.DirectoryServices;

class FtpAd
{
public static void Main(string[] args)
{
if (args.Length == 0)
{
Console.WriteLine("Usage: aduserset.exe path [user [root] [home]]");
return;
}

string ldap = args[0];
string user = (args.Length >= 2 ? args[1] : "*");
string root = (args.Length >= 3 ? args[2] : null);
string home = (args.Length >= 4 ? args[3] : null);

DirectoryEntry e = new DirectoryEntry(ldap);

DirectorySearcher src = new DirectorySearcher(e, "(&(objectClass=user)(sAMAccountName=" + user + "))");
SearchResultCollection res = src.FindAll();

foreach (SearchResult r in res)
{
DirectoryEntry f = r.GetDirectoryEntry();
Console.WriteLine(f.Name);

if (root != null)
{
f.Properties["msIIS-FTPRoot"].Value = root;
if(home != null)
{
f.Properties["msIIS-FTPDir"].Value = home;
}
f.CommitChanges();
}
}
}
}

# re: Warning: upgrade from Virtual Server 2005 beta to RC1

Sunday, January 30, 2005 10:09 AM by bart

Any news on this? I have the same problem...

# re: VSMT demo on-line

Tuesday, February 01, 2005 9:43 AM by bart

sdfg

# re: ASP.NET Security - The FAQ - part 3

Tuesday, February 01, 2005 7:28 PM by bart

Regarding TIP #4 I want the entire site under HTTP except I want the logon page to be under HTTPS. How does this affect the cookie?

Howard

# re: PSP Episode 5 - How to store passwords?

Thursday, February 03, 2005 7:16 AM by bart

Can I dare to present a little implemenation at

http://weblogs.com.pk/fahad/archive/2005/01/17/1266.aspx

?

Btw, very nice effort.

# re: Saving Passwords...

Thursday, February 03, 2005 7:21 AM by TrackBack

# re: Try IIS!

Saturday, February 05, 2005 9:16 PM by bart

I manage a hole host of systems running both linux and windows , i must say i would choose linux over windows any day. I never seem to have to touch the linux box's, they never need rebooting and they never seem to crash, sure it took a while longer to get them setup but that extra amount of time during the install and planning sure payed of in the long run, i can only speak from experience however i have to employ two other people to help on the windows side and only myself on the linux and thats approx 30 linux and 30 windows. So sorry in my many years of network management i would choose Linux over windows for stability and security.


flandercan

# re: Try IIS!

Saturday, February 05, 2005 9:25 PM by bart

Well, I would do exctly the opposite. Take a look at the uptime stats of my machine (Netcraft for example) and you'll see that I have exactly the same feeling about Windows as you seem to have about those penguin boxes. Currently we're up and running for 47 days without reboot. See post http://community.bartdesmet.net/blogs/bart/archive/2004/08/09/366.aspx for the uptime I had on Windows 2000 Server in the past. Please note that the 47 day uptime now was interrupted by a power failure in the hosting infrastructure, not by software problems or so.

So, they never seem to crash, never need reboting and the setup time was very little. But in my case for Windows :-). I think you should have forgotten a comma in your reasoning somewhere; so check the proof of your statement again :-).

# re: Try IIS!

Saturday, February 05, 2005 9:25 PM by TrackBack

# re: Try IIS!

Saturday, February 05, 2005 10:29 PM by bart

hey this comment was made 'in my experience' and was my own opinion. I have many uptimes of well over a year as i guess you do to. I dont want to start a windows linux flame here. Each server admin to his own.

linux is better though :-)

and that cv is old!

flandercan

# re: Mail up again - No more "550 5.7.1 Unable to relay for ..."

Sunday, February 06, 2005 10:06 PM by bart

yeah seriously has anyone figured out how to resolve this?

This halts the entire exchange org. i dont kow how to get it so incoming mail willget to the mail boxes this is weak sauce.

# How'd you run it without sp2?

Tuesday, February 15, 2005 4:43 AM by bart

I want to try this thing, but I don't want to install SP2. What can I do?

# re: Generating Word documents with XML and XSLT

Tuesday, February 15, 2005 6:29 AM by bart

Its cool but Open Office does that for years.

Check XAML in 3 years.. You'll say "its cool" but Firefox/mozilla has this since 2002 (Xul).

Microsoft is not innovating.. but that's a good move :) Usefull for my online mail merge software.


# re: SQL Server 2000 Notification Services presentation on-line

Thursday, February 17, 2005 5:18 AM by bart

fgsfgs

# re: Using BITS in IE - an update

Friday, February 18, 2005 10:35 AM by bart

A C# download manager using BITS can be found here http://bits.language.nu/

# re: Use BITS for your own downloads

Friday, February 18, 2005 10:40 AM by bart

A Download Manager using BITS can be found here: http://bits.language.nu/

# re: Use BITS for your own downloads

Monday, February 21, 2005 8:23 PM by bart

i tried to do this thing calling bitsadmin from C# program but I get this output

BITSADMIN version 2.0 [ 6.6.2600.2180 ]
BITS administration utility.
(C) Copyright 2000-2004 Microsoft Corp.

Unable to get console input mode - 0x80070006
The handle is invalid.



Exit Code : -2147024890

# re: Mail up again - No more "550 5.7.1 Unable to relay for ..."

Monday, February 21, 2005 9:31 PM by bart

open up the IIS admin utility and configure the virtual SMTP server. You need to set relay and connection restrictions.

# re: Mail up again - No more "550 5.7.1 Unable to relay for ..."

Friday, February 25, 2005 5:57 PM by bart

1.) Goto your Exchange administrator MMC.
2.) Under your administrative group and %YourServerName% open the Protocols folder and under SMTP, goto the properties of your Default SMTP Virtual server.
3.) Click on "Delievery" tab and then the "Advanced" button.
4.) under Fully-qualified domain name. Put in... "%YourServerName%.company.com"
5.) Press OK and test.


Or make sure this should be done as well.


Try this....open you System Manager...Click on servers...then your server...Then expand your Protocols, and click on your SMTP folder....right click on your

Default SMTP Virtual Server and go to properties...Click on the Access Tab and then relay and make sure that your "Allow all computers that successfully

authenticate to relay, reguardless of the list above. That should fix it...

# re: Mail up again - No more "550 5.7.1 Unable to relay for ..."

Friday, February 25, 2005 6:09 PM by bart

# re: Using BITS in IE - an update

Saturday, February 26, 2005 11:02 AM by bart

Bart,

Where is the HTM file?

Thanks

# re: Finally 7200 RPM on laptop

Saturday, February 26, 2005 3:09 PM by bart

It drives me crazy that most manufacturers and so called REVIEWERS are not currently listing the rpm speed of the hard drive.

I'm looking for a 7200 rpm hard drive stock in a 15.4" notebook.

Almost impossibleto find!

# re: Finally 7200 RPM on laptop

Saturday, February 26, 2005 3:16 PM by bart

Nowadays, Dell does a pretty good job to list the harddisk speeds on the configuration web pages (see www.dell.com). On the Latitude series for example, the 60 GB disks come in a 7200 RPM version.

# re: Securing FTP on IIS 6

Saturday, February 26, 2005 7:16 PM by bart

Excelent info

# re: Windows PE, my hero

Saturday, February 26, 2005 11:04 PM by bart

i get a error.. saying..


---------------------------
Error message...
---------------------------
Source files wrong version.

File version "e:\i386\ntdll.dll" is 5.1.2600.0 should be 5.1.2600.1045 or higher.

You must use Windows XP Service Pack 1 or Server 2003 version of windows!


---------------------------
OK
---------------------------


where the hell do i get xp service pack 1?

# re: Windows PE, my hero

Sunday, February 27, 2005 12:16 AM by bart

You'll need to perform a slipstream SP update. Take a look on the internet to find more information on this topic ("Windows XP SP slipstream"). Basically, you copy the i386 folder to the harddisk, download the service pack, and run the service pack executable with a flag (/integrate) to indicate that you want to slipstream to the given location (of the i386 folder). This way, you create a Windows installation source folder with the SP integrated.

# re: Dynamic assembly loading (useful when developing plug-in driven frameworks)

Monday, February 28, 2005 11:01 AM by bart

thx for sharing this ! It is a great example!

# re: Warning: upgrade from Virtual Server 2005 beta to RC1

Wednesday, March 02, 2005 5:08 AM by bart

I'm running Virtual Server 2005 on server 2003. After updates I was also locked out of server administration. I had to update security on the IIS user that was used to run the web portal. I eventually made the portal run using admin credentials. All was well. Hope this helps.

# re: Warning: upgrade from Virtual Server 2005 beta to RC1

Wednesday, March 02, 2005 7:14 PM by bart

Adding the destination address (the address you're using to contact Virtual Server) to the Local Intranet zone in the Internet Options/Security allowed NTLM to work correctly for me, so my Virtual Server install is working again. I don't know that this solves all problems...it seems rather fragile so far...but I'm able to get some work done, anyway.

# Re: ASP.NET 2.0 On Tour @ Brussels was a huge success

Friday, March 04, 2005 9:36 AM by bart

Hi Bart,

I was at the event. Congratulations with your demo's. Nice job.

# re: First blog post from InfoPath

Friday, March 04, 2005 3:46 PM by bart

asfd

# re: First blog post from InfoPath

Friday, March 04, 2005 3:46 PM by bart

cerny sloup

# re: First blog post from InfoPath

Friday, March 04, 2005 3:49 PM by bart

cerny sloup

# re: First blog post from InfoPath

Friday, March 04, 2005 3:54 PM by bart

cerny sloup

# re: First blog post from InfoPath

Friday, March 04, 2005 3:54 PM by bart

cerny sloup

# re: FileSystemWatcher event is triggered twice (solution)

Friday, March 04, 2005 6:36 PM by bart

Hello,

I am trying to debug a problem with FileSystemWatcher. I have two methods in my application that monitor a folder (on different server) for any new files being created. When it finds it, it takes those .doc files and creates PDF files. There is another process that generates these doc files and puts it into this folder. Usually the files are somewhere beween 80 to 1500. I noticed that when the process drops these files into the folder, my application executes Renamed event and not Created events. Also, lot of the times it will stop in the middle with files still left in the folder. Sometimes it will process 80 out of 100 or 140 out of 145 etc. The numbers are always different.

So the two issues are:
1). Why does it execute renamed method and not created method.
2). Why does it stop with files still left in the folder?

I have set internal buffer to 16K since i can get couple of hundreds of files at once. Please advise. I been trying to solve this problem for few months now without any success. Below are the two methods...

Private WithEvents objWatcher As New System.IO.FileSystemWatcher()
objWatcher.NotifyFilter = IO.NotifyFilters.FileName
objWatcher.IncludeSubdirectories = False
objWatcher.InternalBufferSize = 16384
objWatcher.EnableRaisingEvents = True


Private Sub objWatcher_Renamed(ByVal sender As Object, ByVal e As System.IO.RenamedEventArgs) Handles objWatcher.Renamed
'Do Stuff
End sub

Private Sub objWatcher_Created(ByVal sender As Object, ByVal e As System.IO.FileSystemEventArgs) Handles objWatcher.Created
'DO Stuff
End Sub

# re: ASP.NET 2.0 On Tour @ Brussels was a huge success

Friday, March 04, 2005 7:43 PM by bart

"Today, I took a little pause"

What's wrong here?

# re: ASP.NET 2.0 On Tour @ Brussels was a huge success

Saturday, March 05, 2005 4:32 PM by bart

Hi Bart,

I was also there. Thx for the code it was realy interesting but a bit frustrating i have to admit.
I spend a week or more on programming a good login control with a random salt and everything. And now it comes as an standard control. All the work for nothing.
But i got still a question left. When i want to save extra information of the member like his homeaddress. Can i still use the standard controls? I must admit i don't like the profile control for this purpose.
I would use this control for save data like how many posts he did or what theme he likes. But not for storing personal info.
What do you think about this?

greetz

# re: ASP.NET 2.0 On Tour @ Brussels was a huge success

Saturday, March 05, 2005 8:13 PM by bart

Hi Carlo,

Of course you can still use the default controls. To store the data itself, I'd recommend you to use the Profile service however since it makes life much easier. But the way to edit the profile doesn't matter at all, even when you're using Profile. So, you need to distinguish between the service and possible controls that are using the underlying service.

# Longhorn Milestones

Monday, March 07, 2005 8:37 PM by TrackBack

# Longhorn Milestone Dates

Tuesday, March 08, 2005 7:39 PM by TrackBack

# Longhorn Milestones

Tuesday, March 08, 2005 8:11 PM by TrackBack

# Longhorn milestones

Tuesday, March 08, 2005 10:37 PM by TrackBack

# Longhorn milestones

Tuesday, March 08, 2005 10:39 PM by TrackBack

# re: Finally 7200 RPM on laptop

Wednesday, March 09, 2005 5:28 AM by bart

yeah, same here. its probably because faster hard drives drain the battery quicker. but still, i want a 7200, or even 10000 rpm

# re: ASP.NET Security - The FAQ - part 3

Wednesday, March 09, 2005 8:49 AM by bart

Very nice piece of information. Shared with all my knowns.

Manish Shrivastava

# .::Szőkelizer 129::.

Wednesday, March 09, 2005 9:33 AM by TrackBack

<p>&lt;ul&gt;&lt;li&gt;&lt;a href=&quot;http://www.betanews.com/article/Microsoft_Unveils_Office_Communicator/1110303540&quot; target=&quot;_blank&quot;&gt;Istanbul új nevet kapott&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;http://www.infoworld.com/

# re: Symbolic links on NTFS

Wednesday, March 09, 2005 11:43 AM by bart

I've found another solution, if you follow the URL.

Also, you could create a batch file, and drop it (or a short cut/link to it) in the SendTo directory. Here's the contents of my batch file:

fsutil hardlink create %1.link %1

# re: PSP Episode 5 - How to store passwords?

Wednesday, March 09, 2005 3:33 PM by bart

I'm using FormsAuthentication.HashPasswordForStoringInConfigFile (using SHA1) to encrypt passwords before storing in the database. How do you decrypt a password stored this way?

Thanks.


- Sue

# re: PSP Episode 5 - How to store passwords?

Wednesday, March 09, 2005 5:15 PM by bart

The answer is pretty simple, you can't. And in fact, this is just the reason why you should use hashing. Hashing is a one-way function that is irreversible, so you can't go back to the original password (in computationally reasonable time). If you need password reset functionality, you'll need to generate a random password for the user and send it via e-mail to the user, or you can work with secret question/secret answer techniques too.

# re: ASP.NET Security - The FAQ - part 1

Friday, March 11, 2005 12:34 PM by bart

Very Nice!Need more!

# re: Securing FTP on IIS 6

Friday, March 11, 2005 11:05 PM by bart

wow, thanks man I've been searching the internet trying to figure out how to do this =)

# re: ASP.NET 2.0 On Tour - Personalization & Membership demo files

Sunday, March 13, 2005 1:35 PM by bart

Hi Bart,
Splendid presentation at the event!!!
And thanks for the demo files.
I wonder if you know where I can find the electronic version of the other speakers on the convent?
Thanks upfront,
Walter Ruts
wruts@be.xrt.com

# Longhorn Milestone Dates

Tuesday, March 15, 2005 1:21 AM by TrackBack

# re: Securing FTP on IIS 6

Friday, March 18, 2005 1:11 AM by bart

Is there some way to make connections encrypted with IIS without using VPN.

# re: Securing FTP on IIS 6

Friday, March 18, 2005 2:00 AM by bart

Do you mean HTTP connections? In that case you should take a look at HTTPS (SSL/TLS) which is supported in IIS (you need to obtain a certificate for public/private key encryption and so on in order to do this). If you're talking about FTP, you have to go over IPsec or so to have encryption (which is IP-to-IP encryption, thus not on the application level of the "network stack", which SSL is on the topmost level). As an alternative you can use HTTP for editing (FrontPage Extensions, WebDAV) over SSL.

# re: Confusion over whether you have Windows XP SP1 or SP2

Friday, March 18, 2005 6:56 PM by TrackBack

# re: Tell people "Hey, you didn't install XP SP2 yet" when they boot their machine - Let's explain how

Tuesday, March 22, 2005 3:21 AM by bart

How did you get the screenshot? VMWare?

# re: MSN Toolbar

Tuesday, March 22, 2005 4:59 AM by bart

get all the nasty web site off my address box the page is about fulled

# re: MSN Toolbar

Tuesday, March 22, 2005 5:00 AM by bart

get all nasty web site off my address box

# re: Tell people "Hey, you didn't install XP SP2 yet" when they boot their machine - Let's explain how

Tuesday, March 22, 2005 4:19 PM by bart

Hehe, no, it was made using Microsoft Virtual PC 2004.

# A new comment is posted in igooi.com

Wednesday, March 23, 2005 6:30 AM by TrackBack

TrackBack from igooi.com

# re: Symbolic links on NTFS

Wednesday, March 23, 2005 11:28 AM by bart

My Friend:

you shouldn't experiment too much but read the documentation instead.

And you schould read about symbolic links and hard links.

Afterwards read what you worte again and you will feel a hot feeling in your face. If you feel that, then I predict, your face will be red when you look into the mirror...

(Just joking)...

# re: PSP Episode 2 - Debugging is a privilege (sometimes)

Wednesday, March 23, 2005 11:24 PM by bart

Hi,
I follow your trick, assigning the "Debug Programs" permission to my restricted user. However I still can't debug ASP.NET applications.
Am I missing something?

Thanks,
Alberto - Italy

# re: About dynamic languages, F#, Comega, C# 3.0 and even more

Friday, March 25, 2005 10:02 AM by bart

Every day man... every day..........

# re: Warning: upgrade from Virtual Server 2005 beta to RC1

Friday, March 25, 2005 3:15 PM by bart

Administrative Tools > Component Services

Goto

Console Root > Computers > My Computer > DCOM Config > Virtual Server

Right Click property and under Identity tab select "This user" radio button and fill-in the current logged in user information, usually is the Administrator account and the password.

Restart Virtual Server service. It should start immediately.

# re: Warning: upgrade from Virtual Server 2005 beta to RC1

Friday, March 25, 2005 3:19 PM by bart

Forgot to add one more point,

I also added same Administrators Group and SYSTEM account and grant "Launch Permission" under the Security tab.

I have no longer see those errors.

# re: Finally 7200 RPM on laptop

Monday, March 28, 2005 1:58 AM by bart

have you had problems with heat??
just wondering before i add one of those suckers to my presario 2100
also adding 512 ram so it should run a bit faster
preformance is my bigest problem with laptops ..also its almost a paper weight in 5 years but hey enjoy it while it lasts

# re: Finally 7200 RPM on laptop

Monday, March 28, 2005 2:06 AM by bart

Well, actually the heat problem was not that big as I expected it to be. Okay, the surface where the harddisk is located is a bit hotter, but I had no other problems.

# re: ISA Server 2004 + Exchange 2003 + Virtual Server = the max

Monday, March 28, 2005 1:16 PM by bart

??????, ?????? ?? ???????, ??? ???????????? ?????? 2003 ??????? ????? ?? ISA 2004 ??? ?????????? ?????????.

# re: Forgotten Virtual Server :-(

Monday, March 28, 2005 6:35 PM by bart

# re: FileSystemWatcher event is triggered twice (solution)

Monday, April 18, 2005 3:55 AM by bart

????????????

# re: Securing FTP on IIS 6

Thursday, April 21, 2005 11:52 PM by bart

How do i use the code and what is the System.DirectoryServices ?

# re: Securing FTP on IIS 6

Thursday, April 21, 2005 11:55 PM by bart

You have to compile the code - as explained - with the C# compiler (csc.exe) or inside Visual Studio .NET in a C# Console Application project.

System.DirectoryServices is the namespace (and the assembly when you add the .dll extension) where the classes live to talk to "directory services" like AD over LDAP.

# re: Use BITS for your own downloads

Saturday, April 23, 2005 7:29 PM by bart

[QUOTE]
I'm using this technology quite often right now and have a little C# tool for it (nothing special, just a Windows Forms tool that calls the bitsadmin.exe tool through the System.Diagnostics.Process class, and that allows to display a notification in the system tray when a download has finished).
[/QUOTE]

Couls you make available for download your compiled tool?

# re: Creating shares with "backslash-sensitive strings" :(

Monday, April 25, 2005 9:46 AM by bart

i need c# .net code for giving folder permissions to a perticular windows user.

# re: Abort system shutdown

Friday, May 06, 2005 8:02 AM by bart

huuuhhh! no disappoinment anymore! stop system shutdown a very short period of time! thanks alot!

# Killare explorer in un baleno

Friday, May 06, 2005 5:04 PM by TrackBack

# re: Use BITS for your own downloads

Saturday, May 07, 2005 12:22 AM by bart

I don't run this url :(

# re: SQL XML on IIS 6

Monday, May 09, 2005 5:31 AM by bart

That was it. Great tip. MS didn't include this in their how to. Thanks

# re: RIS problem - restore image to smaller harddisk

Wednesday, May 11, 2005 5:25 AM by bart

Interesting! i did the same thing with 2 imirror.dat files. in my scenario only 12 bytes had changed.

# re: Finally 7200 RPM harddisk for my laptop?

Wednesday, May 11, 2005 8:14 AM by bart

sdf

# re: Securing FTP on IIS 6

Thursday, May 12, 2005 8:01 PM by bart

Hi, and how do I make web space (such as webhosting) for each user account if i have no AD :( I have isolated access to FTP for LocalUser. Now, if user want to public his own web, he must just connect to ftp and must to his "ftproot" copy content of his webpage. Now i want public his webpage using IIS6 whithout creating many virtual dirs in IIS. How can I do that?

# re: FileSystemWatcher event is triggered twice (solution)

Thursday, May 19, 2005 9:18 PM by bart

Notepad apparently causes the events to occure differently when you click "File-Save" (raises a single fsw created event) as compared to clicking "File-Save As" (raises a double fsw created event).

# re: ASP.NET Security - The FAQ - part 1

Saturday, May 21, 2005 2:09 PM by bart

what is .net frame work?
what is CLR?
what is MSIL?
what is JIT?
what is CTS?

# re: SQL XML on IIS 6

Sunday, May 22, 2005 9:50 PM by bart

great tip man! i been close to bangin me head against the wall with this thing
they dont ever mention that thing anywhere

# re: How .NET assemblies are loaded

Monday, May 23, 2005 5:22 PM by bart

Hi,

Does this mean that all .NET executables/DLLs are in PE format only? Or is it possible to create them in any other format?

Thanks,
Ravi.

# re: ASP.NET "Issue Tracker" Starter Kit

Friday, May 27, 2005 11:03 AM by bart

mn,nb

# re: ASP.NET Security - The FAQ - part 1

Friday, May 27, 2005 12:03 PM by bart

Nicely written!!!

# re: MSN Space on-line now

Monday, May 30, 2005 1:08 AM by bart

dhfhdf frhgfr htrthrh gthrgthr gry434 4t3434t32 43y24t3y4t ewege ee
e hrgerg reryrer reryeyrer rewrewrter eryrte rweyrywry rtyywewq qy

# re: MSN Space on-line now

Monday, May 30, 2005 1:08 AM by bart

ewrer rewr rerwrer wqrrwrr rwrtttyrytu yrtyrrt

# re: MSN Space on-line now

Monday, May 30, 2005 1:09 AM by bart

my name is diko and i like to wecome u all here.

# re: RIS problem - restore image to smaller harddisk

Wednesday, June 01, 2005 2:25 PM by bart

Great solution!!
Thanks

# re: ASP.NET "Issue Tracker" Starter Kit

Wednesday, June 01, 2005 7:26 PM by bart

It's rubbish - Still full of bugs. You would think that MS would test things properly if they intend users to use the code as the basis of their projects.

Quote: The ASP.NET Starter Kits are six sample ASP.NET applications that provide code to accomplish common Web development tasks. Each sample is complete and well-documented so that you can use the code to kickstart your ASP.NET development projects today.

You can't say that and call it a beta.

# Really COOL!

Monday, June 06, 2005 12:19 AM by bart

Wow, superb!
Thanks.

# Change the MSN personal message with c#

Wednesday, June 08, 2005 2:32 PM by TrackBack

Having just installed Messenger 7.0&nbsp; (I use it a ton for work,&nbsp; its easier than the phone sometimes)...

# re: Personal messages in MSN 7.0 with C# (cont'd) - Integrating Outlook Calendar

Thursday, June 09, 2005 10:37 PM by bart

Hi Bart.

Unless I'm very much mistaken (or in other words: blind), you forgot to include the definition for the VarPtr function in your previous post. I'd appreciate it if you could still post it here...
Tnx.

# re: Personal messages in MSN 7.0 with C# (cont'd) - Integrating Outlook Calendar

Thursday, June 09, 2005 11:00 PM by bart

Hi Patrick,

Completely right; I forget to include the function in my initial post. It's in there right now. Enjoy it!

Cheers,
Bart

# re: Adventures in Monad (Part 0) - Introduction

Thursday, June 09, 2005 11:40 PM by bart

Why don't they drop all the convoluted shell syntax too then? Something more like ML would be nice, and faster to type...

# re: Personal messages in MSN 7.0 with C#

Friday, June 10, 2005 9:19 AM by bart

Thanks for the idea, but that code doesn't seem to be safe for 64-bit. Try http://www.pinvoke.net/ for your DLL Imports, as they're mostly correct.

Basically, use IntPtr for handles and pointers.

I also think it can be done with Marshal instead of VarPtr (is that from VB?).

# re: PowerPoint presentation clock plug-in

Monday, June 13, 2005 1:12 PM by bart

Must say, I like my clock much better... has been seen on numerous MSDN Presentations, but it soo inconspicuous that almost no-one ever noticed it.

Add this (note, it is VB code!):
Sub DrawTime(ByVal g As Graphics)
Dim clientRectangle As New Rectangle(0, 0, Me.ClientSize.Width, Me.ClientSize.Height) ' Me.Width, Me.Height)

' Calculate text to display
Dim myFont As New Font("Microsoft Sans Serif", 10.0F, System.Drawing.FontStyle.Bold)
Dim t As String = Display()
Dim stringSize As SizeF = g.MeasureString(t, myFont)
Dim y As Single = (Me.ClientRectangle.Height - stringSize.Height) / 2
Dim x As Single = (Me.ClientRectangle.Width - stringSize.Width) / 2


' Calculate the Form shape
Dim gp As GraphicsPath = New GraphicsPath
gp.FillMode = FillMode.Winding
If Me.PictureBox1.Visible = True Then
gp.AddRectangle(New Rectangle(Me.PictureBox1.Location, Me.PictureBox1.Size)) '
End If
gp.AddString(t, myFont.FontFamily, myFont.Style, myFont.Size + 4, New Rectangle(x, y, stringSize.Width, stringSize.Height), StringFormat.GenericDefault)
'gp.AddRectangle(New Rectangle(x + 2, y, stringSize.Width, stringSize.Height))
gp.AddEllipse(Me.ClientRectangle)

Me.Region = New Region(gp)
gp.Dispose()

' Fill the from background
Dim startColor As Color = System.Drawing.Color.FromArgb(248, 248, 248) ' Color.White
Dim endColor As Color = System.Drawing.Color.FromArgb(148, 148, 148) ' Color.gray
Dim myBrush As New LinearGradientBrush(Me.ClientRectangle, startColor, endColor, _
LinearGradientMode.ForwardDiagonal.Vertical)
g.FillRectangle(myBrush, clientRectangle)
myBrush.Dispose()

' Draw the text
Dim fontBrush As New LinearGradientBrush(Me.ClientRectangle, Color.White, Color.Black, _
LinearGradientMode.ForwardDiagonal.Vertical) 'New SolidBrush(Color.Black)
g.DrawString(t, myFont, Brushes.Black, x - 1, y - 1)
g.DrawString(t, myFont, Brushes.White, x + 1, y + 1)
g.DrawString(t, myFont, fontBrush, x, y)
fontBrush.Dispose()

myFont.Dispose()

End Sub


Good job explaining this little gem though!

# re: ASP.NET "Issue Tracker" Starter Kit

Tuesday, June 14, 2005 1:33 AM by bart

I have to agree with Boba, this thing is full of bugs. If you ignore the marketing hype though, it's not a bad beta, and there are some interesting techniques in use.

# re: Upgraded to DotText v0.95

Wednesday, June 15, 2005 12:25 AM by bart

Would you please tell me how to configure it the first time? I installed .Text, but not able to see the blogs. It shows the default "A .Text Community" page. What should I do? I thought when you enter a new article, .Text automatically create a page for it. I need help. Thanks

# re: RIS problem - restore image to smaller harddisk

Wednesday, June 15, 2005 7:51 PM by bart

You save us a lot of time!!

# re: Try IIS!

Thursday, June 16, 2005 9:37 AM by bart

I am using IIS with beta 2(trial version) and win XP ,,, IIS is frequently.. crashing....
can any body expalin reason

# re: Use BITS for your own downloads - in ASP.NET facing problem

Friday, June 17, 2005 12:27 PM by bart


sub: Is it posible to use this technology in ASP.NET

we need to provoid facility to download the file of large capacity from a ASP.NET browser. So wether it is posible to use BITS in downloadding files through ASP.NET?.

# re: TechEd 2005 Europe - Last chance to register and ... maximise your time

Saturday, June 18, 2005 11:35 AM by bart

Bart, I am wondering, as a starting .NET student, Tech Ed is only visited by people who's employer pays for it? I mean, more then 2500 Euro. This is a little bit over my head...
Kind regards,Kris

# re: TechEd 2005 Europe - Last chance to register and ... maximise your time

Saturday, June 18, 2005 1:00 PM by bart

Hi Kris,

Thanks for your feedback! I have to admit that you made the right analysis about the main target audience of TechEd. I'd suggest to follow the blogs (visit the TechEd website for a complete list, take a look at http://techedbloggers.net/ also for the American equivalent, not sure it will contain European blogs too within a couple of weeks). If you need more information about .NET related stuff whatsoever, don't hesitate to send me a mail, you can find my e-mailaddress on my website.

Cheers,
Bart

# Monad Beta 1 (MSH)

Sunday, June 19, 2005 2:11 PM by TrackBack

# Aventures in Monad - part 1

Sunday, June 19, 2005 7:22 PM by TrackBack

# re: PowerPoint presentation clock plug-in

Monday, June 20, 2005 4:58 AM by bart

you also need to set TopMost=True for the form.

# re: PowerPoint presentation clock plug-in

Monday, June 20, 2005 1:49 PM by bart

Right Laurant,

I forgot to mention that property in particular although it's out there in my code (cf. download).

Thanks for the feedback!

# re: PSP Episode 5 - How to store passwords?

Tuesday, June 21, 2005 3:38 AM by bart

In a web application you have to send the password to the server in clear text unless you encrypt it with a client-side function (JS). And then you still run the risk of someone sniffing packets, grabbing your SHA1 hash value, and sending that to the server as if they had run the script on the webpage.

# Unsecured wireless networks

Wednesday, June 22, 2005 9:44 AM by TrackBack

Bart has found an unsecure wireless network in his neighborhood. At home, some time ago I too found that a couple of my neighbours had unsecured wireless networks (installed by their ISP, who conveniently neglected to tell them anything at...

# re: The gap between Windows XP and Longhorn

Thursday, June 23, 2005 10:23 AM by bart

I must admit to being more impressed for http://www.oemailrecovery.com : Email recovery. Import dbx file. Outlook express problem. I've even recommended it to all my friends.

# re: Personal messages in MSN 7.0 with C# (cont'd) - Integrating Outlook Calendar

Thursday, June 23, 2005 2:13 PM by bart

I must admit to being more impressed for it. I've even recommended it to all my friends.

# Adventures in Monad - part 1

Saturday, June 25, 2005 12:18 AM by TrackBack

# re: The gap between Windows XP and Longhorn

Saturday, June 25, 2005 10:19 AM by bart

I have been using http://www.mail-repair.com : Email recovery. Open dbx. Outlook express problems. Outlook Express more stable and secure than other programs.

# re: Personal messages in MSN 7.0 with C# (cont'd) - Integrating Outlook Calendar

Saturday, June 25, 2005 10:30 AM by bart

I have been using it. Outlook Express more stable and secure than other programs.

# re: Personal messages in MSN 7.0 with C#

Monday, June 27, 2005 8:42 PM by bart

i want some ideas for the msn messenger personal message but nothing has cum up in the piece of writing

# re: Personal messages in MSN 7.0 with C#

Tuesday, June 28, 2005 4:16 PM by bart

Odd... It doesn't work here either on my 64bit machine. However, I'm running an i386 build of XP, not the 64bit. I thought it'd map it like it would on i386...?

# re: Unsecured WLANs in practice

Tuesday, June 28, 2005 6:02 PM by bart

mja.. let daar maar mee op. 'k heb zo ooit eens ene gevonden bij een bedrijf. Vriendelijk vermeld en weeks derna kreeg ik de Federale aan m'n deur.

Die "eerlijkheid" heeft me toch een paar dagen rechtbank bezorgt.

# re: Abort system shutdown

Wednesday, June 29, 2005 12:24 AM by bart

How do u open a command prompt. havn problems with 60 second shutdown.nd help or pc going out the window. alastairmartin@yahoo.com

# re: Unsecured WLANs in practice

Wednesday, June 29, 2005 3:48 AM by bart

No man, you should be sucking all the porn trough that pipe that you can.

# re: ASP.NET Security - The FAQ - part 1

Wednesday, June 29, 2005 3:50 PM by bart

>what is .net frame work?
>what is CLR?
>what is MSIL?
>what is JIT?
>what is CTS?

-------------------

Step 1: Visit wwwgoogle.com; search each acronym
Step 2: Repeat step #1 as needed.

# re: ASP.NET Security - The FAQ - part 1

Wednesday, June 29, 2005 9:45 PM by bart

Hehe, well this is a .NET blog you know. Nevertheless: a very brief overview of the used acronyms:

- .NET Framework: next-generation development framework from Microsoft
- CLR: Common Language Runtime, the piece of the .NET Fframework that executes .NET code
- MSIL: Microsoft Intermediate Language, the language used to compile .NET applications to
- JIT: Just-In-Time complation, the process of compiling code as needed to native code (instead of up-front compilation)
- CTS: Common Type System

# re: Using BITS in IE - an update

Friday, July 01, 2005 5:33 PM by bart

Thanks for the information. I need some help to go just a bit further on this.
What I need is, instead of a right click (context menu) and then select to download using a Custom App (which uses BITS), I want, when the user Clicks on the Download Link itself, the same app (which uses BITS) to be invoked automatically (overrriding the standard IE download dialog-box etc).

Can anyone help?

Regards
Satish.

# re: Abort system shutdown

Sunday, July 03, 2005 10:54 PM by bart

you can also goto START|RUN, and type SHUTDOWN -A

# re: Off to TechEd 2005 Europe @ Amsterdam

Monday, July 04, 2005 1:00 AM by bart

Look forward to seeing you there, great blogging :)

# This Good

Wednesday, July 06, 2005 12:22 AM by bart

# Virtual Server 2005 contest (nothing to win)

Wednesday, July 06, 2005 5:10 PM by TrackBack

# re: MSBUILD "avant les lettres"

Wednesday, July 06, 2005 8:25 PM by bart

cool

# re: Virtual Server 2005 contest (nothing to win)

Saturday, July 09, 2005 1:32 PM by bart

HOST + B => HOST + ESC :)

# re: TechEd 2005 Europe - the rest of the story

Saturday, July 09, 2005 11:56 PM by bart

congratulations with your biggest distinction!
didn't know yet :-)

# re: TechEd 2005 Europe - the rest of the story

Sunday, July 10, 2005 11:40 AM by bart

Congrats Bart!! Good luck with the rest of your studies and cu around!

# re: TechEd 2005 Europe - the rest of the story

Sunday, July 10, 2005 12:53 PM by bart

Congrats with your very funny week. ;) And of course with your biggest distinction. When you know the exact points, you can always let me know. I also want to know the exact number of your paper. I think it's something between 19 and 20. ;)

# re: Mail up again - No more "550 5.7.1 Unable to relay for ..."

Tuesday, July 12, 2005 8:56 AM by bart

Thanks for the comments here. This helped me sort out a similar problem. I had configured a set of external DNS records on my SMTP server (Exchange 2003) which created a problem on some sonnections.

# re: Virtual Server 2005 contest (nothing to win)

Tuesday, July 12, 2005 4:13 PM by bart

Got it :
- Ctrl + Alt + Del
- Task manager
- Alt + Tab

# re: ASP.NET Security - The FAQ - part 2

Tuesday, July 12, 2005 8:07 PM by bart

I get the same error, can anyone provide the solution to this problem.

# re: Try IIS!

Wednesday, July 13, 2005 12:27 AM by bart

After installing iis it took only 30 sec to being infected. Well.... has someone say above i cannot update in this time.
However Apache does not suffer from this kind of problems. Much more stable, and *flawless*.

Ok... this is just an opinion. However the stats say that this is our world opinion.

Of course... We can do pretty things with Microsoft Products, IIS in not an excpecion.

Cheers,

Edgar Durão
Portugal

# re: ASP.NET Security - The FAQ - part 1

Wednesday, July 13, 2005 7:33 AM by bart

i want to develop a login page web application using ASP.NET which shoud allow the user how are users in my server (window Authentication) and deny all other users, kindly do the needful.

# re: Try IIS!

Wednesday, July 13, 2005 12:45 PM by bart

So, that's why SP1 of Windows Server 2003 now introduces post-installation updates, a phase where it's required to perform a Windows Update before the firewall is unlocked. That means, the computer is not visible to the outside world until it has been patched. Still any comments now? :-)

Tip: create a slipstreamed installation disk for W2K3 with SP1 (keywords for internet search: Windows Server 2003 slipstream SP1)

# re: New love: Active Directory & Exchange programming

Thursday, July 14, 2005 2:08 AM by bart

Hi Bart,

I'm doing Active Directory programming recently. Here is my question.

Users are stored in Active Directory, and Users are stored in Exchange Server as well. Should users in AD be exactly the same as those in Exchange?

If a user in AD is in Exchange as well. How can we keep the user's profile, such as department, location, and so on, to be identical? Do we need type in his profil in AD and Exchange seperately? Or, we can replicate it from one to another?

My frastrstion is, when I try to retrieve department info, shall I retrieve it from AD or Exchange?

There are silly questions. :-) Sorry and looking forward your answer. Thank you in advance.

Nicole

# re: Personal messages in MSN 7.0 with C#

Thursday, July 14, 2005 2:56 AM by bart

i would like to get msn message 7.0 how do i get it please email me if u can d=send it to me at bad_gurl169@hotmail.com

# re: Use BITS for your own downloads

Thursday, July 14, 2005 4:01 AM by bart

Yes, It is possible only by using scripts.

# re: Personal messages in MSN 7.0 with C#

Thursday, July 14, 2005 5:27 PM by bart

very good sometimes

# re: CLR Hosting - part 0

Saturday, July 16, 2005 11:06 AM by bart

You can also add Dino's blog (http://blogs.msdn.com/dinoviehland/). He is a fellow tester in the CLR team and does a lot of (amazing) work related to hosting...

# re: Personal messages in MSN 7.0 with C#

Saturday, July 16, 2005 8:52 PM by bart

i need some help wiv my personal message

# re: Killing a Windows Service that seems to hang on "Stopping"

Tuesday, July 19, 2005 3:36 AM by bart

I am trying to terminate a process, but hte PID is coming up as 0, but IT IS still in the "stopping" state.

SERVICE_NAME: MSPOP3Connector
TYPE : 10 WIN32_OWN_PROCESS
STATE : 1 STOPPED
(NOT_STOPPABLE, NOT_PAUSABLE, IGNORES_SHUTDOWN))

WIN32_EXIT_CODE : 6 (0x6)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
PID : 0
FLAGS :


so, how do I kill it? I can not restart this b ox! :\

# re: Killing a Windows Service that seems to hang on "Stopping"

Tuesday, July 19, 2005 5:25 AM by bart

Hmm, your services seems to be stopped, as displayed in your output (state: stopped). So, you should be able to start it now with "sc start" or "net start".

# re: About dynamic languages, F#, Comega, C# 3.0 and even more

Tuesday, July 19, 2005 3:52 PM by bart

# re: Update: university degree - exact score

Tuesday, July 19, 2005 6:15 PM by bart

Whow, big congrats!
When are you off to Redmond??

# re: Security - passphrases

Tuesday, July 19, 2005 8:30 PM by bart

Thanks for the mention! Hope you enjoy reading the book as much as we enjoyed writing it.

# re: Virtual Server 2005 contest (nothing to win)

Tuesday, July 19, 2005 11:08 PM by bart

Right Alt + H then hit ESC also works

# re: Personal messages in MSN 7.0 with C#

Tuesday, July 19, 2005 11:10 PM by bart

Works great for me. What I'd like to do is make it clickable though so I can share URLs with it. Not sure if that'd work though.

# re: TechEd 2005 Europe - the rest of the story

Friday, July 22, 2005 7:29 PM by bart

Sorry for the late night walks :) But I did learned more of them then i did on TechEd :) Unfortunatly these won't ship on the post conference DVD ;)

# re: Windows Vista

Friday, July 22, 2005 7:30 PM by bart

I liked the codename more then i like Vista but i still like the OS behind the name, that 's what counts i guess...

# re: TechEd 2005 Europe - the rest of the story

Friday, July 22, 2005 7:34 PM by bart

Wow, that's a pretty big statement :-). We should definitely meet up again in the (near) future.

# MSN 7 Winamp support

Sunday, July 24, 2005 2:05 PM by TrackBack

# MSN 7 Winamp support

Sunday, July 24, 2005 2:23 PM by TrackBack

# re: FileSystemWatcher event is triggered twice (solution)

Monday, July 25, 2005 6:07 PM by bart

The filesytemwatcher surprised me. When you paste many files in the wathed directory, it skips some and work on others. i hope mycrosoft can expalin this. Any help ?

# re: CLR Hosting - part 2 (basics of running the CLR)

Wednesday, July 27, 2005 5:39 PM by bart

Hi, why is there no ICLRRuntimeHost::GetDefaultDomain? QI for IID_ICorRuntimeHost on ICLRRuntimeHost return E_NOINTERFACE. Calling CorBindToRuntimeEx twice is not allowed to get both pointers. Is this just for beta2?

# re: .NET Framework Checker (C++)

Wednesday, July 27, 2005 9:48 PM by bart

Microsoft docs recommend to check the following key:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\vx.x.xxx
Install - 1/0
This is for .NET 1.1 and up

# re: .NET Framework Checker (C++)

Wednesday, July 27, 2005 10:04 PM by bart

Right, in this first demo development I took the registry key that's mentioned in "Applied .NET Framework Programming" concerning the mscoree.dll startup shim. I'll update my post to provide both ways of checking.

# re: CLR Hosting - part 2 (basics of running the CLR)

Wednesday, July 27, 2005 10:36 PM by bart

Indeed, the ICorRuntimeHost interface has a GetDefaultDomain method, whileas the current version of ICLRRuntimeHost doesn't (although I has had this method at some earlier point in time, which can be seen by inspecting the ICLRRuntimeHost_DeleteMe remainder in the IDL file for mscoree).

Now the question is what you do want to do with the default app domain _AppDomain object in your particular situation?
§ If you want to execute managed code (in a rudimentary way, supporting [in] string, [out] int) you can use ExecuteInDefaultAppDomain.
§ If you want to manipulate the settings for the default app domain, you can implement an application domain manager that manipulates the AppDomainSetup object in the InitializeNewDomain method (managed code).

Nevertheless, I'll keep track of this and check it out further.

# re: CLR Hosting - part 2 (basics of running the CLR)

Wednesday, July 27, 2005 11:06 PM by bart

I just want to get a hold of custom COM interface. In .NET 1.1 we did:
ICorRuntimeHost/GetDefaultDomain/CreateDomain/CreateInstance/Unwrap/QueryInterface on ComVisible type. And I got back COM interface through which I can communicate with .NET side.

# re: CLR Hosting - part 2 (basics of running the CLR)

Wednesday, July 27, 2005 11:21 PM by bart

There was another response here:

http://forums.microsoft.com/msdn/ShowPost.aspx?PostID=63812#63812

Basically:
1. Implement AppDomainManager derived class.
2. Override InitializationFlags and return AppDomainManagerInitializationOptions.RegisterWithHost
3. define COM interface and implement it in AppDomainManager derived class
4. Register the appdom. manager ICLRControl::SetAppDomainManagerType
5. QueryInterface the instance returned in IHostControl::SetAppDomainManager for custom interface.

I haven't tried it yet. But it seems to much for what could have been done much easier before and in predictable way. Now I have to deal with callback from CLR. How do I know when it happens? What if I need it when I start the CLR. I'm just starting to learn the new CLR hosting API, maybe I'm missing something...

# Windows Vista Beta 1 on Virtual PC - Installation notes

Thursday, July 28, 2005 2:59 PM by TrackBack

Posted as a reference for me.&nbsp;&nbsp; I&rsquo;m hoping to play with it this weekend.&nbsp;&nbsp;...

# re: Windows Vista Beta 1 on Virtual PC - Installation notes

Thursday, July 28, 2005 3:54 PM by bart

# re: Windows Vista Beta 1 on Virtual PC - Installation notes

Thursday, July 28, 2005 11:20 PM by bart

My workaround for this issue can be found at http://www.withallmymind.com/WindowsVistaBeta1AndVirtualPC.aspx.

# Belgian Community Articles Posted

Friday, July 29, 2005 10:19 AM by TrackBack

Jelle Druyts, member of&nbsp;the Belgian .NET community, has his article linked in the second issue of...

# Belgian Community Articles Posted

Friday, July 29, 2005 10:19 AM by TrackBack

Jelle Druyts, member of&nbsp;the Belgian .NET community, has his article linked in the second issue of...

# re: Windows Vista Beta 1 on Virtual PC - Installation notes

Saturday, July 30, 2005 1:03 PM by bart

Hi guys

I get the same error message ("The partition you selected is not available for installation. Please reboot your computer and verify that the disk is enabled in your computer's BIOS settings) when I try to install Vista Beta 1 on a 20GB USB Harddisk (USB 2.0 Controller onboard, BIOS supports USB Boot als also shows me the USB HDD as option in the Boot Selection). Vista Setup shows the HDD (I can partition and format) but doesn't allow install. With Windows XP same error. Any suggestions? Thanks.

# re: Windows Vista Beta 1 on Virtual PC - Installation notes

Saturday, July 30, 2005 9:16 PM by bart

Setup was no problem, but I can't get sound to work. Any tips?

# re: Windows Vista Beta 1 on Virtual PC - Installation notes

Saturday, July 30, 2005 11:02 PM by bart

How about video? what driver do you use in vista for the virtual video?

# re: Windows Vista Beta 1 on Virtual PC - Installation notes

Sunday, July 31, 2005 4:08 PM by bart

remember to install the Virtual Machine Additions for better display performance. however, the vpc only sets 8m video memory, this is really not enough for longhorn.

# re: Windows Vista Beta 1 on Virtual PC - Installation notes

Sunday, July 31, 2005 6:12 PM by bart

It's so slow, it's unusable. VPC + Vista is not good to do any development or even exploring the features.

# re: Windows Vista Beta 1 on Virtual PC - Installation notes

Sunday, July 31, 2005 7:33 PM by bart

Hi guys,

I've not *recommended* to install Vista in a VPC enviroment, I just pointed out how you can do it if you want to do so. Make sure to install the Virtual Machine Additions for sure. At my side, the VPC works relatively well, but the experience on my physical machine is (as expected) much better.

Side note: I actually started in VPC first to have such an image on my VPC images disk to be used for who-knows-what (presentations & demos maybe at some point in time) also because I didn't find my "NTFS partition resizing tool" to split the partition of my second dev box to allocate some space for Vista. Today I'll install Longhorn Server and Vista both on a dual proc machine with plenty of RAM.

Cheers,
Bart

# re: PowerPoint presentation clock plug-in

Monday, August 01, 2005 4:44 AM by bart

But I must say, Bart.

Laurent's code is much more easier to read then yours.

# re: Windows Vista Beta 1 on Virtual PC - Installation notes

Monday, August 01, 2005 11:14 AM by bart

Hi Bart,

Thanks for the steps you 've written for the installation.

All worked fine for me.
I installed on VP2004 SP1 running on W2kPRO with 1 GB memory

I installed iso tool and followed the steps.
And step 5 was also the second point where troubled me. So your notes help me very musch.

Thanks...

Eralper
http://www.kodyaz.com

# re: Windows Vista Beta 1 on Virtual PC - Installation notes

Monday, August 01, 2005 4:14 PM by bart

hello bart,

first of all thanks for solving my acient problems..

But now i met a new problem..
I can't find the drivers which are required for virtual pc..
I found those of my REAL hardware..
But Virtual Pc uses simulated hardware.
Why can I find those drivers ?

thanks in advance
brecht

# re: PowerPoint presentation clock plug-in

Monday, August 01, 2005 9:17 PM by bart

Hi izzyp,

Thanks for the feedback; I appreciate people who read my blog :-). First of all, which code do you mean by "Laurent's code"? With all respect, but the only line he pointed me to over here in his comment is "TopMost=True". Maybe you mean Rudi's code which is in VB.NET? In my opinion it all comes down to coding styles/guidelines. I guess you're talking about constructs like

opacity = this.Opacity -= 0.1;
reappear = res == DialogResult.No;

I agree that these are waiting for discussions to come up :-). Additional parentheses might help although:

opacity = (this.Opacity -= 0.1);
reappear = (res == DialogResult.No);

Please keep sending me those comments as I like to hear other's opinions.

# re: Windows Vista Beta 1 on Virtual PC - Installation notes

Monday, August 01, 2005 9:59 PM by bart

Also want to mention that mounting the ISO image to a virtual SCSI drive with a tool like Virtual CloneDrive from Elby makes it impossible to install.

# re: Windows Vista Beta 1 on Virtual PC - Installation notes

Wednesday, August 03, 2005 1:40 AM by bart

Hello,

Keep getting an unrecoverable processor error has been encountered when installing on Virtual PC 2004. It happens after 2 hours or the installation wait. Any ideas?

# From QuickBasic to C and then to Labview

Wednesday, August 03, 2005 5:50 AM by bart

I think this website is great. I have been trying diligently to program my really old HP8752a in labview. Unfortunately, every workable program is written in QuickBasic. That really sucks! I find that QuickBasic->C->Labview is the only route pretty painful but educating.

# re: Windows Vista Beta 1 on Virtual PC - Installation notes

Wednesday, August 03, 2005 6:29 AM by bart

I just formatted the drive using the installation tool then rebooted the virtual machine and it worked great.

I have problems with video like everybody else, how can I configure the display in virtual pc?

thanks in advance! ;)

# re: Windows Vista Beta 1 on Virtual PC - Installation notes

Wednesday, August 03, 2005 6:29 AM by bart

I just formatted the drive using the installation tool then rebooted the virtual machine and it worked great.

I have problems with video like everybody else, how can I configure the display in virtual pc?

thanks in advance! ;)

# re: Windows Vista Beta 1 on Virtual PC - Installation notes

Wednesday, August 03, 2005 12:06 PM by bart

I'm tryig to install the Beta 1 on Microsoft Virtual PC 2004 SP1. But I get an error "Setup was unable to locate a locally attached hard drive suitable for holding temporary Setup files" when the setup starts to copy the files. Any suggestions on how to resolve this?

# re: Windows Vista Beta 1 on Virtual PC - Installation notes

Wednesday, August 03, 2005 1:21 PM by bart

Some answers:
- Don't forget to install the Virtual Machine Additions (HOST KEY + I). Then you will have a good video display, otherwise you won't.
- For harddisk troubles, please follow the outline steps of my post. It should work then.

# re: Windows Vista Beta 1 on Virtual PC - Installation notes

Wednesday, August 03, 2005 1:36 PM by bart

Thanks for the quick response.
I followed your instructions exactly, I get to the point where the setup starts to copy the files to the virtual HD, but it fails with the error that I described.
I thought the problem is with expantion of the virtual HD and created fixed size 8GB, but it didn't help.
In the command window I can get to C: drive and see there is a folder $WINDOW... created.
I don't see any similar problems found by others, so I assume it has something to do with my hardware: I have IBM Thinkpad, 1.4MHz processor laptop with 512MB RAM of wich ~260MB are for the VPC.

# re: Windows Vista Beta 1 on Virtual PC - Installation notes

Wednesday, August 03, 2005 1:47 PM by bart

Hi Mickey,

I hope you mean a 1.4GHz processor, otherwise your machine is about 90% slower than my first 286 box I've ever had :-).

Normally, your hardware doesn't have any impact as it's virtualized you know. Unfortunately, I can't repro your problem, so a first tip I can give: ensure you have enough disk space available! I've used a dynamically expanding disk of 120 GB (:o) but the default of 16 GB should be enough. I haven't explored the exact setup routines in detail yet, but the new setup copies kinda zipped packages in large chunks to disk to extract it over there (should limit slow down due to a large series of small files that need to be transferred between DVD and harddisk). Although I'm not sure about the exact procedure used, this could require 2 times the disk space needed for a working setup. So, I'd try to do safe play and allocate enough diskspace (instead of the 8 GB you tried).

Kind regards,

Bart

# Good search engines know me :-)

Wednesday, August 03, 2005 1:56 PM by TrackBack

# re: Windows Vista Beta 1 on Virtual PC - Installation notes

Wednesday, August 03, 2005 2:00 PM by bart

Hi, Bart!
Thanks again!
I tryed at first to use dynamically expanding HD with default capacity, but it didn't work either.
Now I am using existing VHD with windows 2000 professional installed on it and the setup continued, so there maybe something wrong with compatibility of the windows vista and VPC?
The setup is still running - I'll see if it succeeds.
About MGh and Ghz... you got me :-)

# re: Windows Vista Beta 1 on Virtual PC - Installation notes

Wednesday, August 03, 2005 5:14 PM by bart

i hav VIrtual PC 2004 without SP1 and i hav Vista installed but i cant install the additions how is this possible

# re: Mail up again - No more "550 5.7.1 Unable to relay for ..."

Thursday, August 04, 2005 8:41 AM by bart

I wanted to comment that all this information was helpful, and I also found some more. Since I found this thread when I was in trouble, I wanted to add what I found to help the next guy, I'd hate to go through it again.

1) Your PIX firewall has to have fixup smtp disabled.
no fixup protocol smtp 25

2) You can get the 550 relay error message if Exchange 2003 is failing to resolve the DNS. Try adding several external dns servers in your TCPIP settings on your NIC.

# re: Windows Vista Beta 1 on Virtual PC - Installation notes

Thursday, August 04, 2005 4:14 PM by bart

Hi... I think I'm experiencing the same issue that Mickey has. I started the installation on Virtual PC and after following the instruction to create and format the Virtual Partition, everything seems to work fine for an hour or two... (The installer seems to complete the first phase of copying file and reboot the virtual session, and then restarts the installer and says is going to complete the installation) all the sudden a Virtual Machine General Error comes up with a blue screen behind sayng there was an unknown error and the system reboots. The installation is not completed and I can not continue forward. I don't know at this point what else to try. I have repeated the installation process three time with slight variation but always same final result. I don't know if usign a virtual DVD unit created to mount the ISO image might be related with this problem. I've seen people doing the same successfully but I can not. My Virtual machine is configured with 712 MB of RAM and a VHD of 16 GB dynamically expanded.

Thanks for any suggestion.

# re: Bart's POP3 connector - free download

Thursday, August 04, 2005 4:54 PM by bart

Wow, thanks, Bart. I've been looking for ages for exactly such a thing. Great work!

# re: About IAsyncResult, Invoke, BackgroundWorker and much more

Thursday, August 04, 2005 4:55 PM by bart

I don't see WaitAny() or WaitAll() in the compact framework or smart device environment. Where does one look?

# Easy access to MSN Search; the sequel

Thursday, August 04, 2005 7:29 PM by TrackBack

# Easy access to MSN Search; the sequel

Thursday, August 04, 2005 7:29 PM by TrackBack

# re: Bart's POP3 connector - free download

Thursday, August 04, 2005 11:19 PM by bart

Hi Patrick,

Great to read that at least someone likes this piece of software :-). Have fun with it and keep the feedback coming.

Cheers,
Bart

# re: Windows Vista Beta 1 on Virtual PC - Installation notes

Saturday, August 06, 2005 2:01 PM by bart

Thanks for the tip

# re: Windows Vista boot loader enhancements, trusted boot

Sunday, August 07, 2005 4:25 AM by bart

do you know how to activate trusted boot ?

# re: Adventures in Monad - part 2

Sunday, August 07, 2005 11:38 AM by bart

Interesting. A sort of souped-up version of the Python interactive command shell?

# re: A simple request logger in ASP.NET

Sunday, August 07, 2005 1:42 PM by bart

Good job as usual!
Thanks for having such a nice blog. :)

# re: Anti-SpyWare software from Microsoft

Monday, August 08, 2005 4:14 AM by bart

djdjdj

# re: Anti-SpyWare software from Microsoft

Monday, August 08, 2005 4:14 AM by bart

nnn

# re: Anti-SpyWare software from Microsoft

Monday, August 08, 2005 4:14 AM by bart

nnn

# re: Windows Vista boot loader enhancements

Tuesday, August 09, 2005 12:06 AM by bart

ALL you have to do is copy winload.exe from Vista windows-system32 to the other system32 of each partition that you wanna display it on new boot loader.

# re: RIS problem - restore image to smaller harddisk

Tuesday, August 09, 2005 3:06 PM by bart

Thanks for that! I had a slightly different problem, but WinHex sorted it. For some reason the Imirror.dat file was pointing to Partition (1) - which does not exist on the machines we are building. Just renamed to Partition (0) and hey presto!

# re: Windows Vista Beta 1 on Virtual PC - Installation notes

Wednesday, August 10, 2005 3:53 PM by bart

I've tried to install Vista a dozen times on Virtual PC. I researched installation before my first try so I didn't have to work through the limited ISO size or RAW disk problems. Im running the virtual machine with 512 meg and a 16 GB virtual disk.

Ive run the Diskpart utility to format the RAW partition and tried using copies of the disk file from a running Windows 2000 VPC. I never get as far as all the other threads suggest.

I start the installation and it stops at an "Install Windows" screen that has 3 options--Install now, View release notes and Repair problems with Windows setup. I click Install now.

I see a message "Starting installation..." for 15 or 20 seconds and then it goes back to the Install Windows screen.

If I click the Repair problems... option it comes back with one of several message. The most recent is "Files required to start Windows are either missing or damaged." If I click more information it shows me:

Root cause found:
-------------------
Boot critical file \\?\GLOBALROOT\Device\Harddisk\Partition1\bootmgr is missing.

Are there any suggestion on how to diagnose the problem?

# re: Windows Vista Beta 1 on Virtual PC - Installation notes

Thursday, August 11, 2005 1:30 AM by bart

Please ignore my previous post. I have found the problem. I was using Virtual CloneDrive as a DVD driver for the Vista ISO file. I changed to the Microsoft Virtual CD Control Tool and Vista is now installing.

# re: Bart's POP3 connector - free download

Thursday, August 11, 2005 3:26 AM by bart

Indeed superb piece of software ! Better then any tool i've ever seen !!!

But it's still beta :) So here is some feedback:


BUGS?:
------

- How does a user deletes a connector ?
- What if the user don't have an exchange mailbox ?
- When the mail is gathered the delivery time/date is changed to the time it was forwarded.

QUESTIONS:
----------

- When a lot of connectors connect to the same server, is the mail gathered once or does it reconnect every time ?

WHAT DO I MISS:
---------------

- It's not possible to use distribution groups
- It's not possible to add connectors for users without logging in as that user.
- Something that would be cool (don't need this for the moment) multiple delivery domains ?

=> Maybe you could add feature like 'ADMIN connectors' who are'nt visible for normal users. Just something like POP3 >>> EmailAdres


SUGGESTIONS:
------------

- Maybe use the same login system as exchange OWA does. (Can be done by modifying the Metabase) OR get the Exchange AUTH coockies so you don't need to login again when browsing to the forms auth OWA.
- Another feature that could be usefull: authentication for the SMTP server
- Per Connector interval with drop down list + named intervals specified by the admin => So a user can choose things like 'Every Hour', 'Every Day' or some custom intervals specified by the administrator


That would be it (for now) ;)



Thx again for this great software !!!

Greetz,

Robin

# re: Adventures in Monad - part 2

Thursday, August 11, 2005 10:45 AM by bart

Nope.. pipes make all the difference.

# re: Bart's POP3 connector - free download

Thursday, August 11, 2005 2:17 PM by bart

Hi Robin,

Thank you so much for your comments on this beta release. I'll certainly check out a lot of your suggestions, once I have recovered the source code from the backup (which I need to find first :-)).

Some first answers:

1. Bugs

* Currently it's not possible for a user to delete a connector indeed. He/she can only disable a connector.
* There is no way to specify as an admin the maximum allowed number of connectors or a notion of quota. Maybe this will be added in a further release too (maybe stored inside AD itself, but I rather don't want to do schema extensions).
* Exchange is (and will be) required. This behavior is by design although the service itself can cope with any POP3 and SMTP server. So, nowadays it's perfectly possible to specify a non-Exchange SMTP if the receiver mail address composition is <username>@<AD domain name>. As I have mentioned in the docs, the target e-mail address might be gathered from the user's e-mail address field in AD.
* The change of the delivery time/date to the time when the mail was forwarded is by design, as the SMTP protocol uses the queue time as the mail sent time, although the mail itself can contain additional fields which hold dates/times. I'll check this a little further as I'm not 100% sure about this right now.

2. Questions

* If I do understand your question correctly, the answer is that every connector opens a separate connection to the target POP3 server, even if a lot of users connect to the same server. However, the session-oriented nature of the POP3 protocol makes it nearly infeasible to have another way to retrieve mail other than having a separate connection per connector. Nevertheless, I consider to change the architecture towards a plug-in based model, so that you can developer your own mail retrieval component (e.g. IMAP4, POP3) in order to change the default behavior if you'd want to do so.

3. Missing

* Distribution groups are not known by the connector at the time speaking. The basic problem is the fact that connectors are user-based and depend on the user authentication. A general management view would solve the problem, as we can list the distribution group e-mail addresses over there and add connectors for these. Ideally, there'd be a concept of ownership for distribution groups so that we can offload the task of managing connectors for a distribution group to the owner of the distribution group.
* As you mention, the identity of a user is bound in a 1-on-1 relationship to the target mailbox. Therefore authentication is needed in order to manage the associated connectors. There is no such thing as a "god connectors administrator" for the moment. However, you can go to the SQL Server database and add/remove connectors over there, but you'll have to trick the encrypted password by entering that password through the administration website and copying it to the field of the newly added connector in its encrypted format.
* Multiple delivery domains are not supported nowadays, but this can be solved in a future release by using the e-mail address field in AD. Further brainstorming has to be done.
* Admin connectors would be a possiblity too. I have to consider this, based on security requirements etc.

4. Suggestions

* Using the Exchange OWA login methodology has to be investigated.
* Authentication for the SMTP server has to be checked in the RFC, because the implementation of the SMTP client in the software is completely self-written based on the SMTP server RFC document and the authentication portion was not implemented yet.
* Scheduling on a per-connector basis would be great but will complicate the service code significantly. I have to think about this too, but I'm seriously considering to implement this.

5. Architecture

* Some threading optimizations have to be considered too.


Once I have an updated version (can take a while) I'll post it on my blog and let you know about it.


Kind regards,

Bart De Smet

# re: Why the **** all this Comega and Spec# stuff?

Friday, August 12, 2005 12:32 AM by bart

Not I, I had already hinted at that occuring way before PDC break outs were even announced. I personally believe it is one of the primary reasons that WinFS was delayed.

It has been interesting reading your blog for the past month.

It will be interesting to see the implemenation of the concepts in the language and how they realte to Data access foundation and winfs and what was object spaces. I believe there will be fundemntal changes when the language understands relational and xml based data.
keep up the good posts. douglas

# re: Why the **** all this Comega and Spec# stuff?

Friday, August 12, 2005 3:11 AM by bart

Hey Douglas,

There has been news around this for quite a while indeed and I've been following the Comega and Spec# evolutions for a pretty long time now. For the complete story we'll have to wait a little longer to get the complete picture, and I'm quite sure the upcoming PDC will bring together all of these pieces. The disappearance of ObjectSpaces in .NET v2.0 and WinFS in the initial Longhorn wave have in my very opinion certainly to do with these MSR evolutions. Instead of having various technologies to map data representations on each other, the idea of bringing these aspects into the language itself can have a significant impact on how things work.

Cheers,
Bart

# re: Bart's POP3 connector - free download

Friday, August 12, 2005 7:17 AM by bart

Ok i'm looking forward for the updates :)

One more question: While i was on vacation the service seemed to fail. I did'nt recieve any mails trough the pop service. The service was running and a manual sync worked perfectly. By restarting the service everyting was ok again. Is there a way to turn on some kind of logging on the service to do some debugging ?

Grtz Robin

# re: Windows Vista Beta 1 on Virtual PC - Installation notes

Friday, August 12, 2005 8:41 AM by bart

I managed to install it end, I think on last restart, when the Windows Logo comes up and the progressbar runs windows crashes:

virtual pc: processor error
windows: STOP 0x0000007E (0x80000003, 0x810EF3E1, 0x83A46D30,0x83A46A2C)

Ther is enough spaece on the hd and i have gave longhorn 512mb ram ? Host is WinXP prof. with VP 2004 SP2
Someone can help me ?

Thomas

# re: Windows Vista Beta 1 on Virtual PC - Installation notes

Friday, August 12, 2005 2:25 PM by bart

I hav Vista installed on Virtual PC 2004 but my display is 4 colors!! the lowest and it cant go higher cuz it says i hav a Generic Non-PnP Display VGA Adapter :(:( What can i do???

# re: Windows Vista Beta 1 on Virtual PC - Installation notes

Friday, August 12, 2005 2:37 PM by bart

i need microsoft vista key(serial number).i have vista dvd but my product key is incorrect.So pls send your vista product key to rifatgunduz@gmail.com

# re: Windows Vista Beta 1 on Virtual PC - Installation notes

Friday, August 12, 2005 2:44 PM by bart

Dennis,

Install the Virtual PC additions as mentioned in earlier feedback. This should solve the problem.

Rifat,

To obtain a valid product key, you should be a valid registered beta tester through connect.microsoft.com. Over there you can get product key, as well as via MSDN Subscriptions. We can't share product keys over here.

Kind regards,

Bart De Smet

# re: Securing FTP on IIS 6

Friday, August 12, 2005 6:14 PM by bart

HI, i trying to create users with isolated ftp dir on the fly, but...
how does IIS (2k3 sp1) need to be set up?
i've just created the user with System.DirectoryServices and assigned "C:\web" as root and "<login>" as home dir. i have not configured any of the ftp types(normal/iso/isolate with ad).
i dont want to choose the last, cuz i want ad to manage that. thank you

# re: Securing FTP on IIS 6

Friday, August 12, 2005 11:18 PM by bart

Hi JL,

I don't understand your question completely. First you state you want to use Active Directory because you're using System.DirectoryServices etc and then you say you don't want to use the Active Directory Isolation Mode for FTP because you want to use AD?

So, my answer is to reread my post and to use
- IIS with FTP in AD isolation mode
- AD
- System.DirectoryServices

Cheers,

Bart

# re: Windows Vista Beta 1 on Virtual PC - Installation notes

Sunday, August 14, 2005 1:00 AM by bart

Hey bart i cant install the additions
i cant select it in the menu help

# re: Windows Vista Beta 1 on Virtual PC - Installation notes

Sunday, August 14, 2005 10:04 AM by bart

ioiuhoiuyoiu

# re: Want to read nonsense? "The Committee to Fight Microsoft ... " - Just a little reaction

Sunday, August 14, 2005 4:08 PM by bart

like E. said : two things are infinite.. the universe and human stupidity...
(but i'm not really sure about the universe)

and idd, he probably has written 0 lines of code in his life...

# re: Longhorn Server Beta 1

Sunday, August 14, 2005 6:27 PM by bart

ike

# re: Securing FTP on IIS 6

Monday, August 15, 2005 10:40 AM by bart

hi, i want to create isolated ftp's with C# +DirectoryServices for users i create with C#+DirectoryServices.
AD is on machine A and IIS is machine B, in domain. maybe i need to redirect "msIIS-FTPRoot" to "\\machine_b\C#\web\"? after user is created. i want to be able to use the user's ftp directly after user creation by logging in to ftp://domain\user:pass@machine_b:21/.
So, i still need to set up ftp iso mode for every user/client manually after i add a user with C#+DirectoryServices? Thank you

# re: Securing FTP on IIS 6

Monday, August 15, 2005 11:35 AM by bart

Bart, i've came i little further.
Filemon told me user was redirected to C:\inetpub\ftproot\<domain>\<user>, and not using ms_ftproot for some reason

# re: Securing FTP on IIS 6

Monday, August 15, 2005 2:42 PM by bart

Hi JL,

Don't forget to setup msIIS-FTPRoot for every user of course. Normally, I don't expect problems if both the ms-FTPRoot and ms-FTPDir are set for the user and the concatenation of both results in the desired path.

# re: Killing a Windows Service that seems to hang on "Stopping"

Tuesday, August 16, 2005 10:58 AM by bart

Maybe one additional warning. If you stop a service which runs as svchost (like Automatic Updates), it is likely to be part of a process which runs more services (like the Server service). In that case killing the process will not just kill the targeted service, but other services as well.

# re: Windows Vista Beta 1 on Virtual PC - Installation notes

Tuesday, August 16, 2005 3:37 PM by bart

VPC and Windows Vista don´t work...i have an 3GHZ Athlon CPU and 1GBRam (768 for VPC) and this shit Vista is too slow...30 seconds to open a small window...with "opening effects" :-((

# re: Securing FTP on IIS 6

Wednesday, August 17, 2005 12:15 PM by bart

You have been very great help

# Windows Vista Security - About Secure Startup, TPM, EFS, Syskey and much more

Wednesday, August 17, 2005 4:42 PM by TrackBack

# Windows Vista Security - About Secure Startup, TPM, EFS, Syskey and much more

Wednesday, August 17, 2005 4:42 PM by TrackBack

# re: Windows Vista boot loader enhancements

Wednesday, August 17, 2005 8:39 PM by bart

As above, copying the winload.exe file from vista's system32 directory to winxp's system32 directory works.

# Why preparing security demos can hurt ... I killed lsass.exe by mistake :o

Thursday, August 18, 2005 5:17 AM by TrackBack

# re: MSN Weather add-in for MSN Toolbar and Windows Desktop Search

Friday, August 19, 2005 2:23 PM by bart

Wat stelt dit voor? Het doet mij denken aan behangpapiermotief van in de 2e wereldoorlog.
Bijna niet leesbaar trouwens. 't Zelfde probleem met de vergroting.

Allee maar ik ben content dat uw gemeente erop staat.

Zoek gewoon Gent op via weather.com, er bestaat zelfs een goeie API voor als je het wil opnemen in je software.

# re: MSN Weather add-in for MSN Toolbar and Windows Desktop Search

Friday, August 19, 2005 5:05 PM by bart

Hmm, I guess you're not viewing the picture full-sized. When you hover over the picture in IE, you'll find a button "Expand to regular size" in the right bottom corner.

And btw, weather.com doesn't know my city, so I like MSN Weather much much more :-).

# SHA-1 also insecure? (cont'd)

Friday, August 19, 2005 9:54 PM by TrackBack

# re: Demo of "Attachment Execution Service internals" in Windows XP SP2 and Windows Server 2003 SP1

Friday, August 19, 2005 10:01 PM by bart

Just some update. The following might be interesting: http://www.heise.de/security/artikel/print/50051

It describes two "issues" with the AES feature:
1. Caching in Windows Explorer (that's why I'm writing things such as "Close the existing Windows Explorer instance and open a new one" in my demo script).
2. The fact that only explorer.exe looks at the Zone Identifier and not cmd.exe.

Personally, I believe AES just functions as a first layer of defense, not as a full-blown protection mechanism. Therefore, these "attacks" are - in my opinion - less relevant. In order to protect against running executable content which was downloaded from the internet, the Windows loader for executables would need a change.

Cheers,
Bart

# re: Windows Vista Security - Using TPM (Vista beta)

Saturday, August 20, 2005 5:59 AM by bart

Hi,

We recently installed windows Vista to find what is provided at the TPM level. The windows TPM base is provided (tbs.dll) as well as a driver for tpm 1.2, and the WMI interface. However we didnt find how to activate secure boot.

As written in "Trusted Platform Module Services in Windows Longhorn", Microsoft is not going to provide the TSS stack itself. Do you know any vendor who proposes the TSS stack on top of tbs.dll ?

Do you know which kind of integrity measurement Windows Vista is going to provide?

Do you know if microsoft is going to release beta version of its NGSCB ?

Regards,

Greg

# re: Windows Vista Security - About Secure Startup, TPM, EFS, Syskey and much more

Saturday, August 20, 2005 6:56 PM by bart

If you're part of the beta then your question should be directed to the newsgroups. I'm sure you'll get an answer there that can point you to information on how to enable Secure Startup on Vista.

# re: A SOAP Data Provider

Sunday, August 21, 2005 11:31 AM by bart

Good article. We have used the described DataSet/ CRUD-Service approach for several years in an enterprise environment (8000 Users) and have been quite successful - in a Powerbuilder/DataStore incarnation however from which Microsoft got certainly "enlightened" when designing DataSets. Despite, it might be called "the poor man's SOA", it is comprehensible and performs well.

# re: Bart's POP3 connector - free download

Tuesday, August 23, 2005 1:53 AM by bart

Hi,

Now i'm facing the same problem @ Home...

My first guess is that Etrust fucks up the service when a virus comes in...

I'll check on that and will get you guys updated...

Grtz Robin

# re: Personal messages in MSN 7.0 with C#

Tuesday, August 23, 2005 11:23 PM by bart

Hey um..for the music thing. I click the "show what i'm listening to" and listen to music in my Windows Media Player..yet it still does not show on my msn. Odd thing is it used to fine, it just started doing this? this there something else you need to do or something?

Thanks

# re: Personal messages in MSN 7.0 with C#

Wednesday, August 24, 2005 3:36 PM by bart

Can't work it out!
can someone teach me that...

# re: Personal messages in MSN 7.0 with C# (cont'd) - Integrating Outlook Calendar

Wednesday, August 24, 2005 4:09 PM by bart

If i would like to make a random personal message with quote, what should i start with?

Thankz. =P

# re: Use BITS for your own downloads

Wednesday, August 24, 2005 4:28 PM by bart

no comments

# re: Killing a Windows Service that seems to hang on "Stopping"

Thursday, August 25, 2005 3:12 AM by bart

How can i stop a hanging service in Windows 2000?? I tried to use kill -f PID but the services remains to be in stopping state.

Thanks for advising.

# re: Windows Vista Beta 1 on Virtual PC - Installation notes

Friday, August 26, 2005 12:49 AM by bart

Wow, u must have some hardware or install problems. I been running WinVista Beta 1 for a week. It is already faster than WinXP (on the same machine) and have it incorporated into my network running beautifully.

Kudos to MS for this is outstanding for an early beta release. <salute>

Tarl

# re: RIS problem - restore image to smaller harddisk

Friday, August 26, 2005 6:19 PM by bart

May not be a supported solution by Microsoft but it did work for me. Thanks for posting this solution. I really appreciate it.

# re: .NET Framework Checker (C++)

Saturday, August 27, 2005 2:14 PM by bart

# Wont work in down versions of word

Monday, August 29, 2005 2:26 PM by bart

Bart,
Nice is your article..but the document wont run in lower versions of MS Word .i mean downward compatability is not there..
if you try opening the document in word2002 or 2000 ..you will see only WordML syntax bcoz lower versions cant parse it..
There is less information on net on how to tackle this issue..
i am trying to solve it from 1 week..if you have any solution plz help me..

# re: SharePoint Web Services - Obtain a collection of lists

Tuesday, August 30, 2005 1:09 PM by bart

Why Sharepoint ? Use DotNetNuke instead.

;-)

# re: My Dear Huge Demo VPC

Wednesday, August 31, 2005 9:12 PM by bart

Well that looks like a real VPC for me, but what about WinFS? ;)

# re: Killing a Windows Service that seems to hang on "Stopping"

Thursday, September 01, 2005 5:16 AM by bart

How can i get rid of the stopping status for a service

# Vista installation notes

Thursday, September 01, 2005 9:22 AM by TrackBack

# re: Personal messages in MSN 7.0 with C#

Thursday, September 01, 2005 10:15 AM by bart

Jenna, all you do is first on msn click on display what i am listeing to, then if you are using WMP open it then at the top click on tools, then pug-ins then just click on MSN messenger plug-in. Now whenever you listen to something in WMP it will be displayed as your personal message. If you want help for using it for something like Itunes just post on here :D

# re: Use BITS for your own downloads

Thursday, September 01, 2005 5:30 PM by bart

Let me get this straight... If you run "bitsadmin /complete myjob" before the transfer is Completed.. the transfer is aborted??? What???? W H Y ???????!!!!!!

How can I quite simply run one command, or one batch, for instance a logon script, and make BITS download files... And complete the transfer automatically when it's it's done.. "/setnotifycmdline myjob bitsadmin '/complete myjob'" does not work.. It's accepted by bitsadmin, but it does not do anything! Duh!

# Install Windows Vista (Longhorn) under Virtual PC

Thursday, September 01, 2005 10:01 PM by TrackBack

# Install Windows Vista (Longhorn) under Virtual PC

Thursday, September 01, 2005 10:59 PM by TrackBack

# re: ASP.NET Security - The FAQ - part 2

Friday, September 02, 2005 8:06 PM by bart

I would take out the text:

<configuration>
<add key="dsn" value="server=myserver;uid=myuser;pwd=Passw0rd!;database=MyDb" />
</configuration>

at the the top of your article. This technique can only encrypt strings in select sections and is not a cover-all technique.

# re: IE7 on Windows Server 2003 - Personal comments

Friday, September 02, 2005 11:59 PM by bart

If you have the noted problem after installing I.E 7 Beta, simply download IE 7 5.5, run I.E 5.5 then I.E 7 Beta, problem should be now fixed.

# re: ASP.NET Security - The FAQ - part 2

Saturday, September 03, 2005 1:24 AM by bart

Hi,

That's right indeed and things were messed up that time due to first insights in ASP.NET 2.0 features that provide this functionality. As a correction:

* aspnet_setreg.exe can be used to encrypt e.g. the DSN to the session state SQL server database
* For other encryption stuff, you need to talk to DPAPI right now

Apologies for any inconvenience whatsoever.

# re: Introducing Internet Explorer 7 Beta 1

Saturday, September 03, 2005 2:18 AM by bart

I have a question. Anyone know about the changes in the user agent string and how it will effect, if I do something weird with my user agent string name like I have here: <a href= http://www.useragent.name/user-agent-name.xml>Useragent xml</a>

# Monad Beta 1 (MSH)

Saturday, September 03, 2005 12:48 PM by TrackBack

# Bulk Active Directory operations - an example

Sunday, September 04, 2005 5:22 PM by TrackBack

# Bulk Active Directory operations - an example

Sunday, September 04, 2005 5:32 PM by TrackBack

# re: Windows Vista Beta 1 on Virtual PC - Installation notes

Monday, September 05, 2005 5:12 AM by bart

I've tried install Vista on cd and using Virtual PC. With VrtPC It says "Windows is loading files" and thats all I get. With it burn on cd, I cant get past trying to format/partition hdd...What Am I doing WRONG?

Tommygirl_702@yahoo.com

# TAOCP

Tuesday, September 06, 2005 2:46 AM by TrackBack

# TAOCP

Tuesday, September 06, 2005 3:12 AM by TrackBack

# re: ASP.NET Security - The FAQ - part 3

Tuesday, September 06, 2005 3:29 AM by bart

I have been scanning the web trying to understand how /requireSSL worked because I thought I had a big problem. I know where to get hold of an HttpModule which allows me to configure a site into both secure and insecure pages but I thought that if I used /requireSSL then I would have a problem when the user browsed from a secure page to an insecure page. What happens to the authentication cookie now? Does it refuse to journey to an insecure page?

Well your explanation seems to say I had got hold of the wrong end of the stick and I am very curious as to where you got this information?

Thanks Mike L

# re: Windows PE, my hero

Tuesday, September 06, 2005 11:16 PM by bart

will work with sp2 excelerated binary

# re: TAOCP

Wednesday, September 07, 2005 11:50 AM by bart

Don't forget to look around for a nice girl in Ghent the next 2 years :p

# re: Windows Vista Beta 1 on Virtual PC - Installation notes

Friday, September 09, 2005 1:12 PM by bart

Thanks a lot, it works now.

# re: Windows Vista Beta 1 on Virtual PC - Installation notes

Saturday, September 10, 2005 6:34 PM by bart

Hi there all!
I got some sticky thing here.
I use Virtual PC 2004, and installation was all good until the last fase.
It says:
Completing Instalation - Do not restart your computer during this time.

Its been like this for 2 horus now. Won't go away.. I and now I've rebooted, but its still there..

# re: Mail up again - No more "550 5.7.1 Unable to relay for ..."

Wednesday, September 14, 2005 10:09 AM by bart

Dear Sir,
I am facing "550 5.7.1 Unable to relay for name@domain.com" for suddently with out changing any ... and i am using ISA firewall if it's to do anything...


help me please

REgards
MUruganb

# Belgian Bloggers At PDC 2005

Sunday, September 18, 2005 9:27 AM by TrackBack

# re: Back from the PDC

Monday, September 19, 2005 9:45 PM by bart

I definitely think SharePoint should be higher on the list ;-)

# re: Windows Vista Beta 1 on Virtual PC - Installation notes

Wednesday, September 21, 2005 9:59 AM by bart

Vista installation was slow on VPC 2004 but it worked (had to reboot after creating a partition).

Vista is very slow probably because the S3/Video driver provided by VPC Addition is not fast enough for the heavy graphics of Vista.

Secondly, if you can arrange your virtual network connection to work, things improve a bit.

Overall, I'd say Vista is more a alpha release than a beta but some of the bugs in Explorer may be linked to VPC (shared folder).

The Windows Backup utility is pre-alpha.

Microsoft is way behind schedule...

# re: To NGen or not to NGen

Wednesday, September 21, 2005 7:21 PM by bart

Great post! Just what I was looking for.

Thanks a bunch.

# re: Windows Vista Beta 1 on Virtual PC - Installation notes

Wednesday, September 21, 2005 8:26 PM by bart

Hi Alan,

It's beta but remember that things were stripped down before beta 1 was delivered. In the new pre-beta 2 (PDC build) things have improved again and my overall feeling is pretty good. There's indeed still work to be done but the road is clear now. So, I'd rather not say that "Microsoft is way behind schedule". More things have been done than are visible today (e.g. IIS7 is only in the PDC build of Longhorn Server and was not in beta 1, same for TxNTFS stuff for example).

Kind regards,
Brt De Smet

# re: Introducing Internet Explorer 7 Beta 1

Thursday, September 22, 2005 8:51 AM by bart

Hrm. I really can't understand why you're not a fan of tabbed browsing.

It's a thing I miss hardly in IE since I started to use Firefox (and I must admit besides of that I'm a Microsoft-Fan).

It just saves SOOOO much space on my desktop ;-)

# re: Abort system shutdown

Thursday, September 22, 2005 5:19 PM by bart

how do i abort a system shutdown on window 2k server

# re: Introducing Internet Explorer 7 Beta 1

Thursday, September 22, 2005 6:38 PM by bart

Hi Sebastian,

I guess my dislike of tabbed browsing is partially because of my bad habits: CTRL-N, ALT-D, (shortened) url, (CTRL-)ENTER. I just can't adapt myself to press CTRL-T instead. And when I do, I'm tricked by pressing ALT-F4 to close the browser window, instead of CTRL-F4 to close the current tab. And to switch between browser windows, I'm the ultimate ALT-TAB addict. I really can survive without a mouse. Keystrokes, keystrokes, keystrokes, ... so much more productive :d

Beside of that, I have two other remarks:
1. What about taskbar grouping? It works great, also for IE. Currently my counter is on 21 IE windows that are open, and I don't feel bad because of that :-).
2. In Office we shifted to a one window per document/spreadsheet/presentation approach instead of MDI. Why reverting this trend in browsers towards an MDI-like tabbed style? In my opinion, pages on tabs are seldom related to each other (in contrast to, say, the code files in a VS.NET environment), so I feel better having one window per page. Maybe for target=_blank links, tabs are useful, but - again, in my opinion - not for maintaining a collection of unrelated pages.

Just my 1024*1024 kilocents :-)

Bart

# re: About "My Network Places", Nethood, target.lnk and attrib

Friday, September 23, 2005 12:08 PM by bart

Hi Bart,

i'm sure this one will help you. It should be easily portable to C#.

http://vbaccelerator.com/home/NET/Code/Libraries/Shell_Projects/Creating_and_Modifying_Shortcuts/article.asp

# re: About "My Network Places", Nethood, target.lnk and attrib

Friday, September 23, 2005 12:10 PM by bart

Oops, it's already in C# :)

# re: About "My Network Places", Nethood, target.lnk and attrib

Friday, September 23, 2005 12:21 PM by bart

I thought a bit about this.. alternatively you could write your own Shell Namespace. You would have full control on what and how and where to show in explorer.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/programmersguide/shell_adv/namespaceextension/namespace.asp

# re: C# 2.0 is coming

Friday, September 23, 2005 7:33 PM by bart

What happen to the collection class in generic? It was there in the VS2005 beta 1.

I am trying to convert my codes which uses collectionBase to use Generic collection.

Thx,
Paul

# re: ASP.NET Security - The FAQ - part 2

Friday, September 23, 2005 10:31 PM by bart

Format of the initialization string does not conform to specification starting at index 0

# re: Securing FTP on IIS 6

Saturday, September 24, 2005 9:28 PM by bart

Hello,

When I try to add a user via LDAP I always get the error "The server is not operational". Does anyone know what this means? Please send me sample code if you have any to dragomirg@abv.bg . Thx.

# re: Windows Vista Beta 1 on Virtual PC - Installation notes

Sunday, September 25, 2005 7:41 AM by bart

Hi
i was installing Longhorn DVD on a system the one already had Xp Pro and W2K3 installed. I made a NTFS partion and reboot with Longhorn DVD and start installig but after some time it gives me this error message, "TPI32.dll was not found".

# re: Windows Vista Beta 1 on Virtual PC - Installation notes

Monday, September 26, 2005 4:45 AM by bart

Hi
my bad. I was installing without VPC 2004.
And now i'm installing the u told in your help.
Every thing went well it reboot automatically.
But it's been 2 hours.
It says:
Completing Instalation - Do not restart your computer during this time.
Should i wait more how long it will take. any idea?

# re: Windows Vista Beta 1 on Virtual PC - Installation notes

Monday, September 26, 2005 5:18 AM by bart

I installed Beta successfully.
But i've also display problem.
It just show 4 bit colors. But it's bit slow.
I used 512MB RAM for virtual machine.
How to fix display problem.

# re: SQL XML on IIS 6

Monday, September 26, 2005 11:08 PM by bart

Thank you!

# re: Abort system shutdown

Tuesday, September 27, 2005 3:46 PM by bart

The code in the following URL works perfectly on Windows 2000 machines. The code is wirtten in VC++ 6. Download the program from the following URL. You'll need to register on this website to download the program.

http://www.codeproject.com/system/AbortSystemShutdown.asp

# re: MSN Space on-line now

Wednesday, September 28, 2005 8:17 AM by bart

I feelz lik talking to all u
Helooooooooooooooooooooooooooooooooooo

# re: To NGen or not to NGen

Wednesday, September 28, 2005 8:52 AM by bart

This is a great post but what happens if at installation time I NGEN my assemblies and then the CLR gets serviced. If I understand it correctly, my NGEN images will become invalidated. Is there a mechanism that the NGEN 2.0 provides to automatically NGEN those assemblies again that are part of my application or am I out of luck?

# Why preparing security demos can hurt ... I killed lsass.exe by mistake :o

Wednesday, September 28, 2005 8:24 PM by TrackBack

# re: Windows Vista Beta 1 on Virtual PC - Installation notes

Friday, September 30, 2005 3:52 PM by bart

I've got the same problem. I've installed the Virtual Machine Additions, but i've still got the crappy 4-bit colors. I just won't work...are there any other options to solve this problem?

iBenshi

# re: Windows Vista Beta 1 on Virtual PC - Installation notes

Friday, September 30, 2005 3:56 PM by bart

Never mind...i just tried to manually add the videodriver and this time it worked! Gonna test Vista now :)

iBenshi

# re: Chkdsk saved my life

Monday, October 03, 2005 2:04 PM by bart

Well in my case, I was happily backing up data to a 200gb HDD, and, lo and behold, after a restart, on trying to access the folders in question windows happily beeped, told me 'my directory structure is corrupted' and generally behaved like a jackass. One restart later, and chkdsk starts its magic - goes through the 'correcting index' stage, then through a 'recovering file stage' - then stops or lack of disk space. And whinges about lack of disk space for every remaning file, all 50k or so of them. For a few hours or so.

New moral of the story : NTFS is ghey, you should leave lots of blank space when backing up to HDD's, and Mac OS/*nix doesn't do this kind of stuff.

# re: Windows Vista Beta 1 on Virtual PC - Installation notes

Monday, October 03, 2005 11:19 PM by bart

So...I'm trying to install the Additions, and it's taking forever. Given that the install of Vista took hours (half a day), I guess I should give it more time. It's encouraging to know that others have had success. I'm curious as to whether or not Vista will notice from within VPC that it's on a TabletPC. The pen drives it nuts right now.

As slowly as things are proceding, I have to admit to the likelihood that I will not actually be able to DO anything with the OS, other than maybe say I got it installed, but something makes me keep going.

# re: Mail up again - No more "550 5.7.1 Unable to relay for ..."

Tuesday, October 04, 2005 8:38 AM by bart

I have two smtp virtual servers, default and secure. The issue I was having is after creating the secure virtual server I forgot to add it to the smtp connector. Once I did that, everything worked fine.

# re: Arrived at the PDC - LA

Friday, October 07, 2005 1:03 AM by bart

great blog

# re: Chkdsk saved my life

Sunday, October 09, 2005 1:31 AM by bart

haha same thing just happened to me, backed up all my data to seagate 250gb and got the message 'cannot open folder, data corrupt'. I freaked the hell out! So much valuable stuff, came here saw what you fella's went through.

Ran a checkdsk... cried myself to sleep, at the thought of losing my baby.

Woke up, everything was perfect!

thank the lord for chkdisk

# Come to IT Forum 2005 and receive a free copy of Windows Server 2003 R2 and Virtual Server 2005 R2

Sunday, October 09, 2005 10:04 PM by TrackBack

# re: Bart De Smet - MVP Edition - version 3.0 has shipped :-)

Monday, October 10, 2005 9:37 AM by bart

Congratulations, Bart!

# re: Windows Vista Beta 1 on Virtual PC - Installation notes

Wednesday, October 12, 2005 1:08 AM by bart

For anyone attempting to install Virtual Additions in my experience this doesn't work. The install just sits there.

The work around in to go to Device Manager. Then select the display and update the driver. The driver update gives the option to search the internet. The install then pulls the Virtual PC display driver from Microsofts web site.

# re: Coding Webcast - Working with Active Directory objects in C#

Wednesday, October 12, 2005 1:31 AM by bart

Great post thx a lot !

# re: Personal messages in MSN 7.0 with C# (cont'd) - Integrating Outlook Calendar

Wednesday, October 12, 2005 3:52 PM by bart

where is the previous post? can u post a link to that please

# re: Personal messages in MSN 7.0 with C# (cont'd) - Integrating Outlook Calendar

Wednesday, October 12, 2005 4:47 PM by bart

# re: Personal messages in MSN 7.0 with C# (cont'd) - Integrating Outlook Calendar

Wednesday, October 12, 2005 4:47 PM by TrackBack

# re: Microsoft Security Summit

Wednesday, October 12, 2005 10:25 PM by bart

looking for old presentations

# re: Coding Webcast - C# 3.0 introduction in depth

Thursday, October 13, 2005 1:54 AM by bart

Impressive! concise and interesting. It's very helpful for a beginner like me.

Thank you very much!

# re: Warning for PDC CommNet users - log off your MSN Messenger

Saturday, October 15, 2005 3:43 AM by bart

How can I log off MSN Messenger?

# re: Netsh madness

Monday, October 17, 2005 7:30 PM by bart

For your home configuration, why not just set the DNS value to whatever static IP you set for your machine?

You can bundle up NETSH commands in a script file and run the script to batch all these commands together.

# re: Netsh madness

Monday, October 17, 2005 11:05 PM by bart

I know, but I'd like to see the loopback working fine :-). Nevertheless, the WMI-based code works fine (see http://community.bartdesmet.net/blogs/bart/archive/2005/10/09/3600.aspx).

# re: Netsh madness

Monday, October 17, 2005 11:05 PM by TrackBack

# Unknown keystrokes

Tuesday, October 18, 2005 12:54 AM by TrackBack

# Unknown keystrokes

Tuesday, October 18, 2005 12:54 AM by TrackBack

# re: Use BITS for your own downloads

Tuesday, October 18, 2005 10:20 AM by bart

bitsadmin /setnotifycmdline myjob c:\windows\system32\bitsadmin.exe "bitsadmin /complete myjob"

# re: Bart De Smet - MVP Edition - version 3.0 has shipped :-)

Wednesday, October 19, 2005 12:15 AM by bart

Congratulations :)

# Ris problem access denied

Wednesday, October 19, 2005 2:48 AM by bart

Experiencing Access denied message with running RISPRep when copying system32\*.ocx src files? How can I fix the problem

# re: About "My Network Places", Nethood, target.lnk and attrib

Wednesday, October 19, 2005 2:02 PM by bart

I've searched on tons of places for how to create these links. Until I had it and coded my own solution. The target.lnk is actually a normal shortcut. So this one is scriptable.

I even made a 1.0 version of a VBS-script to do ALL what you need to make these special folders. Hope you can use it:


'*************************************************************************
'* File: EditResource_1.0.vbs
'* Description: Creates or Deletes resources in "My network places" using input parameters
'* For more info, run the file without paramers
'* A failed run creates ERROR-events in Eventviewer
'*
'* Requirements: WSH 5.5 or higher.
'* Created date: 2005-10-18
'*
'* Last modified: XXXX-XX-XX
'* Last modfied by: <name>
'* Information: ....
'*
'*************************************************************************
Option Explicit
Dim strPath, strName, strAppname, strNetHood, blnDeleteMode, objFSO, objWSHShell, objShell, objFolder, objFolderItem, blnVerboseMode

'Set version and name of script (should be the same as script-name)
strAppname = "EditResource_1.0.vbs"
Const NETHOOD = &H13&

'Create objects
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objWSHShell = CreateObject("Wscript.Shell")
Set objShell = CreateObject("Shell.Application")

'Set vars
strPath = ""
strName = ""
blnDeleteMode = false
Set objFolder = objShell.Namespace(NETHOOD)
Set objFolderItem = objFolder.Self

'Set this VAR to true to get MsgBox Errors instead of eventvwr-errors
blnVerboseMode = false


'Get inputs
Call GetParams()

'Create resource OR Delete all resource depending on parameter-input /DELETE
If blnDeleteMode = True then
Call EraseResources()
Else
Call CreateResource()
End If



'Clean up
Set objShell = Nothing
Set objFSO = Nothing
Set objWSHShell = Nothing
Set objFolder = Nothing
Set objFolderItem = Nothing







'Creates a resource in nethood
Sub CreateResource()

'Set vars to create resource
strNetHood = objFolderItem.Path

'Create resource
Dim objShortcut, objDesktopIni, objNewLinkFolder, strIniFileContent

'Don't create shortcut if an existing folder is already is named the same way
If NOT objFSO.FolderExists(strNetHood & "\" & strName) AND objFSO.FolderExists(strNetHood) then

'Create the main folder
Set objNewLinkFolder = objFSO.CreateFolder(strNetHood & "\" & strName)

'Create a desktop.ini below that folder
Set objDesktopIni = objFSO.CreateTextFile(strNetHood & "\" & strName & "\Desktop.ini")

'Set the content of Desktop.ini
strIniFileContent = "[.ShellClassInfo]" & vbNewLine &_
"CLSID2={0AFACED1-E828-11D1-9187-B532F1E9575D}" & vbNewLine &_
"Flags=2" & vbNewLine &_
"ConfirmFileOp=1"

'Write content to INI-file
objDesktopIni.Write strIniFileContent
objDesktopIni.Close

'Reopen Desktop.ini as file-object to set attribs
Set objDesktopIni = objFSO.GetFile(strNetHood & "\" & strName & "\Desktop.ini")

'Create target.lnk (used to point where the system-folder-path shall be)
Set objShortcut = objWSHShell.CreateShortcut (strNetHood & "\" & strName & "\target.lnk")
objShortcut.TargetPath = strPath
objShortcut.IconLocation = "%SystemRoot%\system32\SHELL32.DLL, 85"
objShortcut.Description = strPath
objShortcut.WorkingDirectory = strPath

'Save shortcut to NETHOOD
On Error Resume Next
objShortcut.Save

'After everything is created - Set required Attribs on the folders / files
objDesktopIni.Attributes = 6 'Hidden and System
objNewLinkFolder.Attributes = 1 'Read only

'Clean up
Set objShortcut = nothing
Set objNewLinkFolder = nothing
Set objDesktopIni = nothing

'If Error - Create an eventlog containing the error
If Err.Number <> 0 then
objWSHShell.LogEvent 1, strAppname & " error:" & vbNewLine & "Cannot create resource:" & strPath & vbNewLine & "Error detail:" & Err.Description
End If

End If

End Sub




'Empties all the resources from nethood
Sub EraseResources()

Dim oFolder, oSubFolders, oCurrentSubFolder

'Remove all links created as files
strPath = objFolderItem.Path & "\*.*"
On Error Resume Next
objFSO.DeleteFile strPath, true

'If Error - Create an eventlog containing the error
If Err.Number <> 0 then
objWSHShell.LogEvent 1, strAppname & " error:" & vbNewLine & "Cannot empty folder of files:" & strPath & vbNewLine & "Error detail:" & Err.Description
End If

'Some shortcuts are folders, loop and delete all of them too
Set oFolder = objFSO.GetFolder(objFolderItem.Path)
Set oSubFolders= oFolder.SubFolders

For Each oCurrentSubFolder in oSubFolders
On Error Resume Next
objFSO.DeleteFolder oCurrentSubFolder, true

'If Error - Create an eventlog containing the error
If Err.Number <> 0 then
objWSHShell.LogEvent 1, strAppname & " error:" & vbNewLine & "Cannot empty folder of subfolders:" & strPath & vbNewLine & "Error detail:" & Err.Description
End If
Next


End Sub





'Get's parameters supplied, and checks if valid
Sub GetParams()

Dim objArgs
Set objArgs = WScript.Arguments

If objArgs.Count = 0 Then
Call HelpText()
Wscript.Quit(0)
Else

Dim i, intArgCount, strTempParse, intRequiredParameters, currentArg, errMessage

'Count number of args passed to script
intArgCount = objArgs.Count - 1

'Set how many args that are required, decrease this value with 1 each time a required value is valid and set
intRequiredParameters = 2

For i = 0 to intArgCount
currentArg = objArgs(i)

If Ucase(currentArg) = "/PATH" then

'Control that the value for this parameter exists
If intArgCount >= i + 1 then

'Control that it is valid
If objFSO.FolderExists(objArgs(i + 1)) then

'Get the value of the valid parameter
strPath = objArgs(i + 1)

'Mark that 1 required parameter is set
intRequiredParameters = intRequiredParameters - 1

Else
errMessage = GetParamsBuildError(currentArg, errMessage, " - Folder does not exist or no access to it: " & objArgs(i + 1))
End If

Else
errMessage = GetParamsBuildError(currentArg, errMessage, " - No value for parameter")
End If


ElseIf Ucase(currentArg) = "/NAME" then

'Control that the value for this parameter exists
If intArgCount >= i + 1 then

'Control that it is valid
If len(objArgs(i + 1)) > 0 then

'Get the value of the valid parameter
strName = objArgs(i + 1)

'Mark that 1 required parameter is set
intRequiredParameters = intRequiredParameters - 1

Else
errMessage = GetParamsBuildError(currentArg, errMessage, " - No name specified")
End If

Else
errMessage = GetParamsBuildError(currentArg, errMessage, " - No value for parameter")
End If

ElseIf Ucase(currentArg) = "/DELETE" then

'Set deletemode, and ignore the rest of the parameters
blnDeleteMode = true

errMessage = ""
intRequiredParameters = 0
Exit For

End If

Next



'If any error or missing parameters display error to user
If len(errMessage) > 0 OR NOT intRequiredParameters = 0 then

If NOT intRequiredParameters = 0 then
errMessage = GetParamsBuildError("", errMessage, vbNewLine & " - Not all required parameters specified or valid")
End If

If blnVerboseMode = true then

'Create a Messagebox containing the error
Dim intSeeHelp
intSeeHelp = MsgBox("Parameter Errors:" & vbNewLine & errMessage & vbNewline & vbNewline & "Do you want to see the help?", 308, "Error in parameters")

If intSeeHelp = 6 then
HelpText()
End If

Else
'Create an eventlog containing the error
objWSHShell.LogEvent 1, strAppname & " error:" & vbNewLine & errMessage
End If

'Quit with error-code -1
Wscript.Quit(-1)

End If
End If

End Sub



'Displays help-text
Function HelpText()

MsgBox "Required parameters:" & vbNewLine & vbNewLine &_
" - /NAME ""<Resource name>""" & vbNewLine &_
" - /PATH ""<Path to resource>""" & vbNewLine & vbNewLine &_
"--- OR ---" & vbNewLine & vbNewLine &_
" - /DELETE" & vbNewLine &_
" - Deletes ALL resources in My network places (NETHOOD)" & vbNewLine &_
" - When using this command, script ignores /NAME and /PATH parameters, and will not create any new resource" & vbNewLine & vbNewLine &_
"Example:" & vbNewLine &_
strAppname & " /NAME ""Delade wordfiler"" /PATH ""\\sbab.ad\dfs\DeladeWordfiler""" & vbNewLine &_
strAppname & " /DELETE" & vbNewLine &_
"", vbInformation, strAppname & " - Required parameters"

End Function



'Builds errorstring when parsing parameters
Function GetParamsBuildError(strArgument, errMessage, strErrortxt)
GetParamsBuildError = errMessage &_
Ucase(strArgument) &_
strErrortxt &_
vbNewLine
End Function

# re: Personal messages in MSN 7.0 with C# (cont'd) - Integrating Outlook Calendar

Wednesday, October 19, 2005 2:41 PM by bart

No RemoveMSNMessage method

# re: About "My Network Places", Nethood, target.lnk and attrib

Thursday, October 27, 2005 11:55 PM by bart

Dude, you are the man. Unbelievable!!!! Thank you very much!!!!!!

# re: Happy birthday to Bill Gates

Saturday, October 29, 2005 4:40 PM by bart

That's 9968 days before Bart was born on February 11th 1983 :). And Julia Roberts was born on Gates' 12th birthday.

Let's party ;)

# re: IT Forum ... here we come!

Saturday, November 19, 2005 12:48 AM by mygetbiz

Hi,

I'm about 6 weeks into a commercial smart client application, you can view @ gotdotnet under uEase a summary, it's a closed project.

Today I came to the conclusion that I would have to write my own SOAP adapter, but then I went online to see if anyone else had done anything on it and shared it with the community.

You were the only results at live.com with the search string ""SOAP data adapter". I was very pleased with this and downloaded your thesis project.

I'll let you know what changes and how things worked out when I get there.

Just a note to than kyou for saving me some time.

Take care,

Monique

# re: Happy 2006 - 2005 in security figures

Thursday, January 05, 2006 5:31 PM by JM

Nice comparative, thanks.
BTW, that would be nice to have a similar comparative with the "Solution Status" graphs (ie. showing still unpatched issues) also provided by Secunia.

# A beginner's guide to C library interop in C# (cont'd)

Wednesday, January 25, 2006 1:05 AM by B# .NET Blog

Previously I posted a sample on C interop basics in C#. In this post I try to avoid a &quot;reputation mismatch&quot;...

# A beginner's guide to C library interop in C# (cont'd)

Wednesday, January 25, 2006 1:30 AM by B# .NET Blog

Previously I posted a sample on C interop basics in C#. In this post I try to avoid a &quot;reputation mismatch&quot;...

# re: IE 7 on air - download NOW

Wednesday, February 01, 2006 2:16 AM by DJ4AM

Tx! Downloading is already going on ...

# Belgian Developer &amp; IT Pro Days 2006: Some Facts

Sunday, March 12, 2006 10:48 AM by Tom's corner

# Wrapping up: Developer and It-Pro Days 2006

Sunday, March 12, 2006 5:41 PM by David Boschmans Weblog

With the Belgian Developer &amp;amp; IT-Pro Days 2006 a couple of days behind us, it's time for a write-up...

# Wrapping up: Developer and It-Pro Days 2006

Sunday, March 12, 2006 5:43 PM by David Boschmans Weblog

With the Belgian Developer &amp;amp; IT-Pro Days 2006 a couple of days behind us, it's time for a write-up...

# Wrapping up: Developer and It-Pro Days 2006

Sunday, March 12, 2006 6:15 PM by David Boschmans Weblog

With the Belgian Developer &amp;amp; IT-Pro Days 2006 a couple of days behind us, it's time for a write-up...

# re: To throw or to rethrow?

Monday, March 13, 2006 10:38 PM by Robert Bogue

I disagree with some of your statements ...

1) Rethowing an exception is bad -- it should be done when data can be added to help identify the cause of the exception. If exceptions are truly exceptions then the performance impact is negligible. (Since they shouldn't be happening often enough to matter.)

2) You should blind rethrow. (See #1.) You should wrap the exception with more data and throw it up.

I've got an article on the approach at Developer.com called "Handling Exceptions". It's available at http://www.developer.com/tech/article.php/3370341

Rob

# Post Dev & IT Pro Days

Tuesday, March 14, 2006 10:21 AM by Arlindo's Blog

It has been a busy week for our team and we hope you all enjoyed the Dev & IT Pro Days

# Post Dev &amp;amp; IT Pro Days Part III

Tuesday, March 14, 2006 11:15 AM by [MSFT-BE] Arlindo's Blog - IT Pro Evangelist

My colleagues Tom Mertens and David Boschmans made their complete wrap-up about the Dev-IT Pro Days 2006....

# Post Dev &amp;amp; IT Pro Days Part III

Tuesday, March 14, 2006 11:15 AM by [MSFT-BE] Arlindo's Blog - IT Pro Evangelist

My colleagues Tom Mertens and David Boschmans made their complete wrap-up about the Dev-IT Pro Days 2006....

# Post Dev &amp;amp; IT Pro Days Part III

Tuesday, March 14, 2006 11:18 AM by [MSFT-BE] Arlindo's Blog - IT Pro Evangelist

My colleagues Tom Mertens and David Boschmans made their complete wrap-up about the Dev-IT Pro Days 2006....

# Post Dev &amp;amp; IT Pro Days Part III

Tuesday, March 14, 2006 11:37 AM by [MSFT-BE] Arlindo's Blog - IT Pro Evangelist

My colleagues Tom Mertens and David Boschmans made their complete wrap-up about the Dev-IT Pro Days 2006....

# Post Dev &amp;amp; IT Pro Days Part III

Tuesday, March 14, 2006 12:05 PM by [MSFT-BE] Arlindo's Blog - IT Pro Evangelist

My colleagues Tom Mertens and David Boschmans made their complete wrap-up about the Dev-IT Pro Days 2006....

# re: Get on the Inside Track - How to get public betas of Windows Vista, Office 2007 and Exchange 12

Tuesday, March 21, 2006 9:06 PM by Tom Mertens

Another option is to register for the Beta Experience at http://www.microsoft.com/betaexperience. You will receive download access to the public beta's (or CTPs) of Windows Vista and 2007 Office System. And you'll also get a six weekly newsletter containing exclusive content (video's and articles)...

# MSN API: S&amp;#229;dan skifter du din &amp;quot;personal message&amp;quot; med .net

Wednesday, March 22, 2006 10:09 PM by Kenneth Auchenberg

Hej folkens
En fra min klasse skulle bruge en lille konsol-app hvor han fra command prompt kunne &#230;ndre...

# MSN API: S&amp;#229;dan skifter du din &amp;quot;personal message&amp;quot; med .net

Wednesday, March 22, 2006 10:12 PM by Kenneth Auchenberg

Hej folkens
En fra min klasse skulle bruge en lille konsol-app hvor han fra command prompt kunne &#230;ndre...

# MSN API: S&amp;#229;dan skifter du din &amp;quot;personal message&amp;quot; med .net

Wednesday, March 22, 2006 10:14 PM by Kenneth Auchenberg

Hej folkens
En fra min klasse skulle bruge en lille konsol-app hvor han fra command prompt kunne &#230;ndre...

# A few comments from 'The Other Side'

Thursday, March 23, 2006 8:14 AM by Koen Serry

a few comments from 'The Other Side'

I've been reading your blog since I'm doing occasionally stuff in .net, but java is where my heart is. But this entry gave me the creeps so I couldn't resist commenting on it.

If you're using JDK5 (and it seems you did) you may have noticed that new ArrayList().add(1) actually works. So boxing and unboxing has made it into Java too (Although I'm not sure this is a good thing).
Second the collections framework in java is imho far better than .net, first of all there is no common interface for (non-)generic collections in .Net. So System.Collection.Arraylist doesn't implement System.Collection.Collection or whatever, like they do in java. This would actually allow components to be written that take collections as an interface, regardless of how they're implemented. Or to have open source alternatives, that could turn out to be faster/lighter.
On the backwards compatibility, while it's true SUN could have opted for putting them in a seperate package, they didn't. And quite frankly It doesn't even bother me that the compiler warns me about it, since I can either disable them or use generics. What this has to do with versioning hell is a big question mark for me. Java hasn't suffered from versioning hell like .net does. We do however have our own issues like ClassNotFoundExceptions, ClassLoaders and stuff.
Although things have improved since the 'COM' days, I don't know about something like class loaders in .net that allows usage of separate versions of the same package in the same program. And then we didn't discuss about the backwards compatibility between .Net2.0 and 1.(0|1) which is if you ask me questionable.
As far as startup time is concerned, well the statement that .net is 2,2 times faster than java based on a simple program like that, where the JVM has the disadvantage of not being partially loaded into memory already, I'll leave that to you.


# Performance measurement in .NET 2.0 - the birth of Stopwatch

Friday, March 24, 2006 5:53 PM by B# .NET Blog

In my post about generics a couple of days ago (see http://community.bartdesmet.net/blogs/bart/archive/2006/03/22/3831.aspx,...

# re: New laptop has arrived - BIGBOY

Saturday, March 25, 2006 10:52 PM by Hans

Congratulations! Good luck with your Big Boy!

# Wrapping up: Developer and It-Pro Days 2006

Sunday, March 26, 2006 3:49 PM by David Boschmans Weblog

With the Belgian Developer &amp;amp; IT-Pro Days 2006 a couple of days behind us, it's time for a write-up...

# re: Adventures in Vista - Getting Aero Glass up and running

Friday, March 31, 2006 12:18 AM by Gabriel Lozano-Moran

Since you are talking about the Aero glass effect I know that you didnt install it in VPC or VMware. But my question is did you try to get it to work in for example VMware? I have the impression (based on logfiles) that Microsoft added a check to see what type of HD is being used and block VMware :)

Gabriel

# Talking about System.Security.SecureString

Friday, March 31, 2006 2:14 PM by B# .NET Blog

Introduction
Within a couple of weeks, our series of MSDN Security Evenings will go on air at various...

# Talking about System.Security.SecureString

Friday, March 31, 2006 2:14 PM by B# .NET Blog

Introduction
Within a couple of weeks, our series of MSDN Security Evenings will go on air at various...

# Web Search in Internet Exploer 7

Sunday, April 02, 2006 2:15 PM by B# .NET Blog

One of the things I like very much about IE7 is the built-in support for web searching using the search...

# Web Search in Internet Exploer 7

Sunday, April 02, 2006 2:15 PM by B# .NET Blog

One of the things I like very much about IE7 is the built-in support for web searching using the search...

# Web Search in Internet Explorer 7

Sunday, April 02, 2006 3:34 PM by B# .NET Blog

One of the things I like very much about IE7 is the built-in support for web searching using the search...

# Web Search in Internet Explorer 7

Sunday, April 02, 2006 3:34 PM by B# .NET Blog

One of the things I like very much about IE7 is the built-in support for web searching using the search...

# CLR exception handling from A to Z - Everything you didn't want to know about try-catch-finally-fault-filter

Tuesday, April 04, 2006 2:11 AM by B# .NET Blog

What is it?
The principle of exceptions is a pretty
easy-to-understand way to report exceptional situations...

# CLR exception handling from A to Z - Everything you didn't want to know about try-catch-finally-fault-filter

Tuesday, April 04, 2006 2:11 AM by B# .NET Blog

What is it?
The principle of exceptions is a pretty
easy-to-understand way to report exceptional situations...

# Visual Basic 2005 On Tour

Tuesday, April 04, 2006 2:12 AM by B# .NET Blog

Yesterday, I've been to the Visual Basic 2005 On Tour event in Brussels. About 200 attendees were there...

# re: CLR exception handling from A to Z - Everything you didn't want to know about try-catch-finally-fault-filter

Tuesday, April 04, 2006 5:04 PM by Jens

I did not try it, but IIRC you can put [] around identifiers when they equal a keyword.

So you could write :

Module [When]
...

Private Sub [Do]
...
End Sub
End Module

# The difference between readonly variables and constants

Tuesday, April 04, 2006 5:08 PM by B# .NET Blog

Just saw a little piece of code where one has been messing up those two concepts of readonly variables...

# The difference between readonly variables and constants

Tuesday, April 04, 2006 5:09 PM by B# .NET Blog

Just saw a little piece of code where one has been messing up those two concepts of readonly variables...

# The difference between readonly variables and constants

Tuesday, April 04, 2006 5:12 PM by B# .NET Blog

Just saw a little piece of code where one has been messing up those two concepts of readonly variables...

# re: The difference between readonly variables and constants

Wednesday, April 05, 2006 12:07 AM by songless

Good stuff bart, thanks.

# B# .NET Blog : Wake on LAN in C#

Sunday, April 09, 2006 1:42 AM by Rickey Whitworth

# re: CLR exception handling from A to Z - Everything you didn't want to know about try-catch-finally-fault-filter

Monday, April 10, 2006 9:10 AM by Kristof Verbiest

Personally, I would add a rule to define a custom exception type: make the type [Serializable]. Otherwise the exception will not be marshalled when doing cross-AppDomain calls using .NET remoting.

# Wake on LAN in C#

Monday, April 10, 2006 4:35 PM by Rickey Whitworth

# Nice initative to find code snippets - CodeKeep

Tuesday, April 11, 2006 11:28 PM by B# .NET Blog

Today I ran across CodeKeep, an online repository with tons of code snippets. Actually I was reviewing...

# Nice initative to find code snippets - CodeKeep

Tuesday, April 11, 2006 11:32 PM by B# .NET Blog

Today I ran across CodeKeep, an online repository with tons of code snippets. Actually I was reviewing...

# Nice initative to find code snippets - CodeKeep

Tuesday, April 11, 2006 11:32 PM by B# .NET Blog

Today I ran across CodeKeep, an online repository with tons of code snippets. Actually I was reviewing...

# re: Why I love .NET generics - a little comparison with Java

Wednesday, April 12, 2006 8:53 PM by bart

A few comments on the "The Other Side" comment posted by Koen Serry earlier.

First of all, thanks for reading my blog and providing comments. However, a few reactions.

1. I'm a little in doubt about how far boxing goes in the latest Java version. For instance, the following works in C#:

class Boxing
{
 public static void Main()
 {
   int i = 123;
   object o = i;
   int j = (int) i;
 }
}

but the following doesn't in Java:

class Boxing
{
 public static void main(String[] args)
 {
   int i = 123;
   Object o = i;
   int j = (int) o;
 }
}

As the matter in fact, both worlds have a very different way of boxing. In the CLI, we have value types that can be boxed to a reference type for use in collections etc. The CLI contains a definition for both box and unbox and effectively, the C# code above uses box to do "object o = i;". In Java, the compiler tricks the same behavior by calling Integer.valueOf (see javap.exe output for the code above). This is just taking the "boxing logic" out of the hands of the developer and bringing to a smarter compiler. But boxing and unboxing do not make their way to the Java runtime.

2. For what the collections API is concerned, I agree the API in .NET is lighter than the one in Java, but I haven't come across a point where I needed additional functionality. Maybe "small is beautiful"? The question is how much functionality you can really interface across all kinds of collections. It doesn't work out very well for Dictionary <-> List for example. What do contains(Object) mean for a Map (containsKey or containsValue)? In .NET, the ICollection interface is stripped down to the bare minimum and it's up to interfaces such as IList or IDictionary to define real functionality. And for me, creating an "über interface" to all of those collections would be overkill and look somewhat cumbersome. Beside the fact that collections "contain" something, the way of adding items and retrieving those is simply different (List <-> Dictionary <-> Queue <-> Stack <-> ...). It might just be a different way of reasoning where the Java folks want to do as much as they can through interfaces (why does one need "managed function pointers" aka delegates when you can have Runnable-stuff or *Listener stuff to do it in a much more cumbersome way?). To put it another way, when designing a piece of software I'm deciding for instance whether I need an index-based collection or not. If I want to write generic code, this brings me (in this case) to IList. And if I want to be able to iterate over a collection I end up with IEnumerable. In the end, I think it's a matter of taste.

3. What the backward compatibility is concerned, the short answer is that .NET runtimes run side-by-side thanks to the startup-shim. Further on, an assembly is bound to a runtime by means of the referenced version of mscorlib. If you configure your application using a binding policy (which comes down to making a change in the .config file for the app) you can redirect those bindings to newer versions of dependent assemblies. However, such a redirect is not recommended. The idea is - again - straightforward. Either you choose to use the old version of the runtime (mscoree.dll will redirect the _CorExeMain request to the right instance of mscorwks.dll for you) and keep the existing binaries, or you want to migrate the the new version of the runtime and recompile stuff for the new runtime to make sure nothing is broken. In the future, we'll likely see a clean separation between CLR versions, BCL versions and VS tools versions.

4. On the versioning hell stuff, Java doesn't have a notion of application versions in the core of the runtime. In .NET, assembly names are made up of an assembly name, a culture, a version and a public key token (depending on whether the assemblies are strong named or not). .NET is completely built around the idea of versionable assemblies, up to the level of the GAC. So, if you don't have versions you might say you don't have versioning troubles as well. But when looking at things such as "checked exceptions" in Java, one can't impossibly deny the sword of Damocles you're creating over there. Some interesting articles on this subject have been written by Bruce Eckel and Anders Heijlsberg. Check those out!

5. I'm not talking about "startup time", I'm talking about running time of an application. JIT compilation will kick in only once for the called methods (e.g. the methods on List). As the matter in fact, I changed the original post because there was a little bug in my perf counting code. My renewed statement is that .NET is 7.3 times faster than Java on this piece of code. Also notice I'm not calculating the "outer run time" of the app, which I could have done using perf measurement of a process' running time (using Process.Start or so). I'm calculating the running time inside the application to rule out any delays caused by loading the runtime itself. So, I'm just measuring the time to add 1,000,000 integers to the list and summing those up.

I'm sorry to make you creep, but this is just my 5cts. The richness of the CLI is the wonderful world I'm living in and I could argue about pros and cons for many many hours. But it's up to the readers to make their decision.

-Bart

# re: To throw or to rethrow?

Wednesday, April 12, 2006 9:01 PM by bart

Robert, in this post I don't have the intention to debate about whether you have to rethrow exceptions or not and in which scenarios this is a good idea. The only thing I want to point out is that there's a difference between "throw" and "throw ex" in C#. It's up to the reader to decide where this might be useful. For instance, Visual Basic has exception filters but C# doesn't. So you might have to catch an exception, investigate whether you can deal with it, and if not decide to rethrow it blindly to maintain the origin of the exception. However, at the border of some module this might not be a good idea since wrapping the exception in a custom exception type using InnerException to create a chain of exceptions is a far better option. Again, this discussion is not the intention of this post. The only intention I had was to point out the differences between "throw" and "throw ex" in C#, which maps to "rethrow" and "throw" in IL. That - and nothing more - was the topic of this post.

# re: Performance measurement in .NET 2.0 - the birth of Stopwatch

Wednesday, April 12, 2006 9:31 PM by Jaimi

you should decorate your DllImport with SuppressUnmanagedCodeSecurity attribute, so you have as little overhead as possible.

# Creating cute buffer overruns and fighting it by /GS - MSDN Security Evenings

Wednesday, April 12, 2006 11:53 PM by B# .NET Blog

I'm in the middle of preparing the MSDN Security Evening sessions over here in Belgium, which will be...

# re: Custom MSBuild tasks

Saturday, April 15, 2006 7:41 PM by Jonathan de Halleux

Hi Bart,

To retreive the file name, path or other properties in ITaskItem, you can use the 'well known item metadata' ( http://msdn2.microsoft.com/en-us/library/ms164313(VS.80).aspx ).

Cool blog btw

# MSDN Security Evenings

Sunday, April 16, 2006 12:11 PM by David Boschmans Weblog

From next week on&amp;nbsp;the Belgian Developer audience team in partnership with MSDN Academic Alliance&amp;nbsp;organizes...

# re: Blog powered by Community Server 2.0

Monday, April 17, 2006 12:10 AM by Jeanke

What are the hosting requirements for Community Server 2.0?
Where do you host it?

# re: Easy access to MSN Search; the sequel

Wednesday, April 19, 2006 3:32 PM by david brown

appnin hwz u? w/b

# re: Basic disk wiping in Windows - cipher /w

Thursday, April 20, 2006 3:32 AM by tony

# re: .NET Framework Internals (continued)

Thursday, April 20, 2006 9:23 PM by Justin

Can multiple machines share a common GAC?  In other words, can we put an assemblies in the GAC on machine A, and access those assemblies from machine B?

# re: Sudoku solver

Saturday, April 22, 2006 1:01 PM by sudoku online


Hi,
Great article!!
Here you can play sudoku online : http://sudoku.arrelnet.com/

# re: About "My Network Places", Nethood, target.lnk and attrib

Sunday, April 23, 2006 5:59 PM by Shrini Viswanathan

Has any one found any automated solution for adding SP DocLib Links into My Network Places?

I currently create the link in one machine, xcopy the links. Then when I copy it to the other machine and set the folder to readonly it works.

# re: Adventures in Vista - Getting Aero Glass up and running

Monday, April 24, 2006 4:58 PM by Adam

Nope Gabriel this is not true. Vista build 5342 did not check to see if it was running in VMWare it was just a bug in 32bit version that wouldnt recognise some of the VMware emulated hardware. Build 5365 installs fine VMware.

# re: Use BITS for your own downloads

Wednesday, April 26, 2006 12:13 AM by chadpad

A batch file could be used with this syntax:

bitsadmin /create job1
bitsadmin /addfile job1 http://servername/bitsinbox/filename.zip c:\filename.zip
bitsadmin /resume job1
bitsadmin /setnotifycmdline job1 "C:\Program Files\Support Tools\bitsadmin.exe" "bitsadmin /complete job1"

# re: Custom MSBuild tasks

Wednesday, April 26, 2006 5:39 PM by Peter Mounce

I'm trying to write a task that asks the user a question, then returns true or false depending on his answer - I want to put this in the BeforeBuild target of my Web Deployment Projects so that I can put a confirmation on running the build when the Release configuration is selected.

My Task class is as follows:

using System;
using System.Windows.Forms;
using Microsoft.Build.Framework;
using Microsoft.Build.Utilities;

namespace MSBuildConfirmDialog
{
public class UserConfirm : Task
{
private string question;
private string caption;

[Required]
public string Question
{
get { return question; }
set { question = value; }
}

public string Caption
{
get { return caption; }
set { caption = value; }
}

public UserConfirm(string question) : this(question, String.Empty) {}

public UserConfirm(string question, string caption) : base()
{
this.question = question;
this.caption = caption;
}

public override bool Execute()
{
try
{
return MessageBox.Show(question, caption, MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes;
}
catch
{
return false;
}
}
}
}

And then I've put in a UsingTask element into my WDP, and put the following into my BeforeBuild target:

<UserConfirm Condition=" $(Configuration == 'Debug' " Question="Are you sure you want to deploy in the $(Configuration) Configuration?" />

(I'm testing it in Debug mode at the moment).

I don't see the expected MessageBox.  I want the build to be stopped if the user clicks "No" and makes the task return false.

Am I going about this in the right way?

# re: Cassini as a service

Wednesday, April 26, 2006 6:19 PM by Rod

I'm trying to set the virtual directory. I assume the Virtual directory actually creates the Application name.
So if I have my home directory set to the actual path say: C:\WebProjects\Rod which works and runs great.
But when I put /Rod in the virtual directory is fails w/ a 404 error saying /Rod not found?
The problem is I have a dll that autogenerates a path to a folder holding a behavior file, but this dll generates its path from the namespace so it looks bases it on the application path as such /Rod/Behaviors/treeview.htc but when using Cassini it has no idea what /Rod is because the application path is set to just /

# re: Visual Studio.NET 2003 Service Pack 1 Beta

Thursday, April 27, 2006 10:06 AM by rohini chandra

I am using visual Studio .Net 2003 to develop my c++ applications.
I have tried to port some old code written in Visual studio 6.0 but I am facing some critical compile error
c1001:INTERNAL COMPILER ERROR.
I want to know if this service pack can solve my problem.I tried three hotfixes which did not solve my problem.

# re: Windows Vista Beta 1 on Virtual PC - Installation notes

Friday, April 28, 2006 9:25 PM by zreodark@hotmail.com

Were can I get a Vista product key

# Hacking HP printers and waking up computers over LAN

Friday, May 05, 2006 12:44 AM by Bite my bytes

# re: Friend assemblies explained

Friday, May 05, 2006 12:09 PM by SriverFX

Any thoughts on how to make an assembly a friend of a Web project's output? (say, a set of resources?)

# Windows PowerShell - Make your application manageable - Write your first cmdlet

Sunday, May 07, 2006 1:13 PM by B# .NET Blog

Introduction
I hope lots of you have been investigating Windows PowerShell (formerly known as Monad...

# re: About VS2005, CoInitializeSecurity and 0x80010119

Sunday, May 07, 2006 5:11 PM by denis bider

So, is there a solution? It looks like a half-completed post. :)

# re: About VS2005, CoInitializeSecurity and 0x80010119

Sunday, May 07, 2006 9:39 PM by zed

This information is covered in the newgroup for virtual server microsoft.public.virtualvirtualserver

# re: Windows PowerShell - Make your application manageable - Write your first cmdlet

Monday, May 08, 2006 7:52 AM by Lee

Excellent introduction, Bart.  

Two points about the post:
1) The VerbsCommon enumeration is a great place to go for the common verbs.  For example,
[Cmdlet(VerbsCommon.Get, "Match")]

2) Custom shells are no longer required in PowerShell.  You could alse investigate creating your cmdlet as a Snapin.

# re: Demo of "Attachment Execution Service internals" in Windows XP SP2 and Windows Server 2003 SP1

Thursday, May 11, 2006 2:19 PM by marc ochsenmeier

Hi,

I have been playing many hours with ADS and still find this issue very interesting. My slides about ADS is to be found a wwww.propagating.net

Regards,
marc ochsenmeier
HP, Germany

# re: ASP.NET Security - The FAQ - part 1

Friday, May 12, 2006 12:05 AM by Bozo

where the hell is part 2?

# re: Dynamic assembly loading (useful when developing plug-in driven frameworks)

Friday, May 12, 2006 4:27 PM by musthafa manikkoth

I was wondering if there's anyway to load dynamically without knowing the type of concrete implementation. i.e., all that i know is that assembly "test1" implements IPlugin. Does anyone know how to do this? or Is this doable?
Thanks
Musthafa

# re: WinFS Beta 1 has shipped

Monday, May 15, 2006 4:19 PM by Triangle

WinFS seems to be a really interesting filesystem. I've searched to get more info on. If you feel yourself also interested in this structure I suppose you give this source a glance http://www.ntfs.com/

# re: Longhorn milestones ... some dates

Monday, May 15, 2006 4:43 PM by Anno

WinFs is imho a really interesting structure. I've searched to find much info on it so if you are also interested I suppose you give this source a glance http://www.ntfs.com/

# re: Windows Vista boot loader enhancements

Wednesday, May 17, 2006 9:51 PM by Angel

Ok, my Vista beta is up and i removed the HDD where it was installed but I still get the Vista loader, how do I removing without damaging the XP instalation?

# re: Chkdsk saved my life

Sunday, May 21, 2006 5:03 AM by Wendy Telford

I just got this twice in a row:
CHKDSK is verifying indexes, etc.  correcting error in index $I30 for file 5.  what exactly does that mean?  Does it have something to do with my Iomega external drive?  Should I unplug it and uninstall it?
Thansk

# re: RIS problem - restore image to smaller harddisk

Wednesday, May 24, 2006 6:52 AM by Pete

I love you, man!  Works great so far (just RISing an laptop that needs to be done tomorrow).

# re: It's Windows Vista, Longhorn Server and 2007 Microsoft Office time!

Wednesday, May 24, 2006 9:50 PM by Jochen Sengier

to bad the microsoft activation service is down..
the office 2007 newsgroups are getting swamped with posts on this topic..

so here's a good tip, wait with the installation until the activation is back up and running..
cause i only have like 29 startups left, real shame, the new Office is really incredible.

# Some hot releases

Thursday, June 22, 2006 2:54 AM by B# .NET Blog

Rather calm on my blog lately due to a high workload. So, let's give a little overview of some recent...

# re: About VS2005, CoInitializeSecurity and 0x80010119

Thursday, June 22, 2006 12:45 PM by Roland

Thanks a lot. This little peace of info saved tonnes of time for me.

# re: MD5 File Checksum Calculcator

Saturday, June 24, 2006 2:22 AM by David Douglass

Check out the HashTab Shell Extension at http://beeblebrox.org/hashtab/index.php

# re: MD5 and SHA1 File Checksum Calculcator

Monday, June 26, 2006 6:34 PM by bart

Hi David,

Thanks for providing a link to this piece of handy software. Another intersting thing is on The Code Project: http://www.codeproject.com/csharp/columnhandler.asp

Cheers,
Bart

# Windows PowerShell - registering a cmdlet without a custom shell

Monday, June 26, 2006 7:52 PM by B# .NET Blog

Some time ago I published an example of how to create a PowerShell cmdlet on my blog, &quot;Windows PowerShell...

# re: AzMan for dummies

Thursday, June 29, 2006 6:46 PM by Robin Vermeirsch

Great clearifying webcast.

Thanks a lot !

# re: AzMan for dummies

Thursday, June 29, 2006 9:52 PM by Gunther Beersaerts

Bart, great initiative to start doing small webcasts! Good to see you take blogging & sharing your knowledge to the next level with the community. Keep up the good work! Guntherb.

# Getting started with Windows PowerShell - Your first cmdlet (webcast)

Wednesday, July 05, 2006 12:49 AM by B# .NET Blog

In this personal webcast episode called &quot;Creating your first Windows PowerShell cmdlet&quot;, I'm showing...

# Blogging from Word 2007

Thursday, July 06, 2006 7:56 PM by B# .NET Blog

I tried it again today; on Windows Vista Beta 2 with Office 2007 and it seems to work. Fingers crossed…...

# C# 2.0 Iterators

Friday, July 07, 2006 12:28 AM by B# .NET Blog

Introduction
In my post about LINQ a couple of days ago, I promised to do a dive deep post on iterators...

# C# 2.0 Iterators

Friday, July 07, 2006 12:28 AM by B# .NET Blog

Introduction
In my post about LINQ a couple of days ago, I promised to do a dive deep post on iterators...

# New and Notable 108

Friday, July 07, 2006 2:28 PM by Sam Gentile

Ruby/Rails

Martin notes that a video of his keynote at RailsConf is online and the rest are starting...

# re: LINQ - A custom implementation of the .NET Standard Query Operators

Friday, July 07, 2006 3:58 PM by Jim Wooley

Great article. I'm unclear why you decided to take on the effort of re-writing sequence.cs other than for the point of a learning exercise. Anyway, if any of your readers are interested, I have a write-up of extension methods in VB which are not well documented yet otherwise at http://devauthority.com/blogs/jwooley/archive/2006/05/21/1095.aspx

# re: Windows PowerShell - registering a cmdlet without a custom shell

Thursday, July 13, 2006 6:32 AM by Jeffrey Snover

PSMDTAG:FAQ: Getting Started - How do I get started with my first Cmdlet?

PSMDTAG:SDK: Writing your first Cmdlet.

PSMDTAG:CMDLET: Add-PSSNAPIN, Export-Console


Jeffrey Snover [MSFT]
Windows PowerShell/Aspen Architect
Visit the Windows PowerShell Team blog at:    http://blogs.msdn.com/PowerShell
Visit the Windows PowerShell ScriptCenter at:  http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx

# Andy Maule&#8217;s blog &raquo; Blog Archive &raquo; Behind the scenes of LINQ

# Use Vista's DIR command to display alternate data streams

Thursday, July 13, 2006 1:58 PM by B# .NET Blog

People who have been playing around with Alternate Data Streams (ADS) - otherwise known as&amp;nbsp;a fork&amp;nbsp;-&amp;nbsp;in...

# kollect &raquo; PowerShell scripting tip

Saturday, July 15, 2006 2:15 AM by kollect » PowerShell scripting tip

# re: Microsoft.GetInstance().Acquisitions[Winternals.GetInstance()] != null

Tuesday, July 18, 2006 7:28 PM by Ramon Smits (Exyll)

Let's hope that this will result in better tools. But I'm a bit sceptic because I cannot think of any tool/application benefitting MS's aquisition.

# re: Microsoft.GetInstance().Acquisitions[Winternals.GetInstance()] != null

Wednesday, July 19, 2006 1:37 AM by David Douglass

I hope this is a good thing.  What will Mark & Bryce be doing for Microsoft?  I'm sure there are many wonderful things they can do, but at the cost of there independence.  Will they continue to maintain the tools (which, as you note, are great)?

Time will tell.

# re: Build a sandcastle today - download the CTF

Sunday, July 30, 2006 4:40 PM by Mikael Söderström

This is really nice. :-)

If you have some time over, please take a look at my SandCastle Helper:

http://www.dotnetjunkies.com/WebLog/mikaels/archive/2006/07/30/142960.aspx

Thanks,
Mikael Söderström

# re: Why I might start to like tabbed browsing after all...

Friday, August 04, 2006 2:56 PM by Yuriy

Don't you think that Ctrl+Click is the most important?  You can queue what to read next.

# LINQ-SQO project started on CodePlex

Saturday, August 05, 2006 12:59 AM by B# .NET Blog

Today, the LINQ-SQO&amp;nbsp;(&quot;A custom implementation of the .NET Standard Query Operators from LINQ&quot;)&amp;nbsp;project...

# re: Build a sandcastle today - download the CTP

Tuesday, August 08, 2006 6:46 AM by Louis-Philippe Perras

We made a little Visual Studio Addin to build the documentation directly from your solution.  It is free and easy to use, take a look at http://www.processacademy.ca in the news section.

Louis

# re: Why I might start to like tabbed browsing after all...

Saturday, August 12, 2006 12:22 PM by Graham

You need to get Opera I think ;-)

Although it defaults to having ctrl-T as new tab, I always change this to ctrl-N (which can be done in preferences->advanced->shortcuts->keyboard)

The beauty of tabs is you don't need favorites/bookmarks any more, you just leave open the 50-100 pages you visit most. When you are bored, just flick through the tabs.
Of the three main browsers opera is really the only one lean and fast enough to do this though. Both IE/FF slow to a crawl as you pass 20.

Seriously though, give it a try. :-)


----

As for the feature existing in Opera, yes, it always has :-) ctrl-tab (or holding down the right mouse button and scrolling) bring up a alt-tab like list of currently open pages, sorted by your last viewed.

# Obtain a computer's MAC address in C# using WMI

Friday, August 18, 2006 7:39 PM by B# .NET Blog

Some time ago I wrote about a C# application to perform Wake-on-LAN. Of course there's one additional...

# re: A simple process monitor - monitoring and restarting a process

Wednesday, August 30, 2006 9:43 PM by Bassam Basamad

Thanks..
It seem to be userfull example..

Best Regards

# Windows Workflow Foundation

Thursday, August 31, 2006 10:26 AM by ScottGu's Blog

Workflow is one of the new core capabilities (along with WPF aka Avalon and WCF aka Indigo) being added

# Windows Workflow Foundation

Thursday, August 31, 2006 10:26 AM by ScottGu's Blog

Workflow is one of the new core capabilities (along with WPF aka Avalon and WCF aka Indigo) being added

# Windows Workflow Foundation

Thursday, August 31, 2006 10:26 AM by ScottGu's Blog

Workflow is one of the new core capabilities (along with WPF aka Avalon and WCF aka Indigo) being added

# re: Conditional compilation in C# - explaining System.Diagnostics.ConditionalAttribute

Thursday, August 31, 2006 10:45 AM by Ramon Smits

I use this attribute *a lot*. The only thing is that when you inspect your assembly with for example fxcop that the method is still compiled and that fxcop says that the method isn't used by any code. This is weird behaviour because the method isn't of any so shouldn't be compiled at all.

# WF: Windows Workflow Foundation

Thursday, August 31, 2006 3:08 PM by while(availableTime>0) {

Yeah, I know that&#180;s a strange acronym and that it should be WWF, but what would it be of WWF , then?...

# WF: Windows Workflow Foundation

Thursday, August 31, 2006 3:08 PM by while(availableTime>0) {

Yeah, I know that&#180;s a strange acronym and that it should be WWF, but what would it be of WWF , then?...

# WF: Windows Workflow Foundation

Thursday, August 31, 2006 3:08 PM by while(availableTime>0) {

Yeah, I know that&#180;s a strange acronym and that it should be WWF, but what would it be of WWF , then?...

# Workflow dynamic update - Beyond Basics

Thursday, August 31, 2006 3:44 PM by Karim Erradi

First, thanks for your ‘WF - How to make a workflow dynamic?’ blog entries. They are very informative and useful.

I really appreciate if you can help with this urgent question, it is really hindering my project progress. Basically, I am trying the change the Workflow when I get some Tracking Event while the WF is running. Basically I have a custom Tracking Service in the Send(TrackingRecord record) method I am trying to change the running instance but I get this error "Instance operation is not valid on workflow runtime thread"! Could please advice if there is any workaround to force the change of the running Workflow in response to a Tracking Event? My scenario is that want to change the running WF in response to receiving UserTrackingRecord, any help is highly appreciated?
I have tried this:
1) Dynamic changes from the activity's code directly – Works fine! But I does not meet all my requirements. Applying the Dynamic Change from a RuntimeService (e.g., Tracking Service) is simply what need. Take the scenario where some unexpected event occurs (for example one of the Web services to be used later on in the WF is offline), in such an event, an external monitoring agent will inform the Tracking Service (the Tracking service would hold-on to such an event) and when the Currently Executing Activity completes I want to do some dynamic change (could be as simple as adding a Delay Activity in the hope that the Web service to be used in subsequent activities will back online).  Another scenario is simply asking the WF to suspend execution until the current problem is dealt with. Any ideas/hints to achieve this is appreciated?
2) Spawn another thread to apply the dynamic changes to the instance -
Note that I have tried  something like System.Threading.ThreadPool.QueueUserWorkItem(new System.Threading.WaitCallback(myApplyAdaptationMethod), workflowInstance);  However this way (in sequential WF with no delay activity), the dynamic change is  only attempted after the Workflow has completed, which is too late. I need to enforce the dynamic change immediately once I get a Tracking Event (or some external event coming from other Monitoring Sources).

I appreciate any guidance with the above.
Thanks
Regards
Karim

# re: Running parallel jobs asynchronously using WaitHandle

Friday, September 01, 2006 12:58 AM by Alex Simkin

All I got from the provided Notepad example was: WaitAll for multiple handles on a STA thread is not supported.

Regards.

# re: Running parallel jobs asynchronously using WaitHandle

Friday, September 01, 2006 1:35 AM by bart

Hi Alex,

That's exactly why there is no [STAThread] attribute in my code to decorate the Main method. The reason for the STAThread and WaitAll to be incompatible is message pumping. Because WaitAll is a blocking call this yields to an invalid situation and therefore you'll end up with a NotSupportedException.

The main question however is why do you have an STA thread after all? Are you still using COM objects that get called from your code and require a single thread apartment? If not, leave the STAThread attribute alone as I did in my code sample.

-Bart

# http://weblogs.asp.net/scottgu/archive/2006/08/31/windows-workflow-foundation.aspx

Friday, September 01, 2006 3:15 AM by TrackBack

# Windows Workflow Foundation

Friday, September 01, 2006 8:44 AM by Tom's corner

# Windows Workflow Foundation

Friday, September 01, 2006 8:44 AM by Tom's corner

# Windows Workflow Foundation

Friday, September 01, 2006 8:44 AM by Tom's corner

# Vista RC1 = XP RTM + 3000 (or: Windows Vista RC1 hits the web)

Friday, September 01, 2006 9:43 PM by B# .NET Blog

Just a couple of days after installation of build 5536 (in a Virtual Server 2005 environment), it's time...

# re: .NET Framework 3.0 RC1 available online

Saturday, September 02, 2006 11:04 AM by Timothy

# re: MMC 3.0 - A managed code 'task manager' MMC 3.0 snap-in

Monday, September 04, 2006 11:59 PM by James Hancock

Great article!

How do you debug these suckers?
I'm getting the following error and I don't have a clue on how to go about debugging and fixing it:

at System.Windows.Forms.Control.ControlCollection.Add(Control value)
  at Microsoft.ManagementConsole.FormView.InternalInitialize()
  at Microsoft.ManagementConsole.View.HandleInitializationRequest(IRequestStatus requestStatus)
  at Microsoft.ManagementConsole.View.ProcessRequest(Request request)
  at Microsoft.ManagementConsole.ViewMessageClient.ProcessRequest(Request request)
  at Microsoft.ManagementConsole.Internal.IMessageClient.ProcessRequest(Request request)
  at Microsoft.ManagementConsole.Executive.RequestStatus.BeginRequest(IMessageClient messageClient, RequestInfo requestInfo)
  at Microsoft.ManagementConsole.Executive.SnapInRequestOperation.ProcessRequest()
  at Microsoft.ManagementConsole.Executive.Operation.OnThreadTransfer(SimpleOperationCallback callback)

# re: MMC 3.0 - A managed code 'task manager' MMC 3.0 snap-in

Tuesday, September 05, 2006 6:25 PM by bart

Hi James,

What's the exception you get to see and when does it occur; at "add snap-in" time or when using it? Haven't tried it yet, but did you attach the VS2005 debugger to the mmc.exe instance where you've loaded the snap-in?

-Bart

# Windows Vista RC1 - Why I'm a happy man: CTRL-SHIFT-F9 has gone!

Wednesday, September 06, 2006 3:07 AM by B# .NET Blog

You might recall my earlier blog post on this very issue. Pre-RC1 Vista did intercept the CTRL-SHIFT-F9...

# re: Windows Vista and the Windows key - some new key combinations

Wednesday, September 06, 2006 10:33 AM by Bert Derijckere

Small correction: Win+U is not a new shortcut, it also works in Windows XP (I think also in Windows 2000) It brings up the utility manager to start/stop usability stuff

# re: Windows Vista and the Windows key - some new key combinations

Wednesday, September 06, 2006 2:15 PM by bart

Thanks Bert for the feedback. Luckily I don't need these kind of utilities for usability so I didn't try these out on earlier OS releases. However, last night I tried out virtually any combination and discovered this one I didn't know of.

# re: WF - Exposing a workflow via WCF

Thursday, September 07, 2006 4:09 PM by Anders Jacobsen

Well writtin articles. I´m also going to write about WWF in my Thesis starting 15. sep this year. Interesting stuff...If they just didnt release a new RC every other day! My dev envoriment is more or less fucked by now ;) Beta is beta though..

# re: Windows Vista RC1 - Why I'm a happy man: CTRL-SHIFT-F9 has gone!

Friday, September 08, 2006 12:21 PM by Ericva

Well,

Thats great news, I remember reading the post thinking it was rediculas, and basically deciding not to upgrade to Vista any time soon ...

RC1, here I come ..

# User name to SID mapping in C# using System.DirectoryServices

Friday, September 08, 2006 9:29 PM by It's Way Too Early For This

A problem I had today when messing around with ACLs and System.DirectoryServices: how to map a user name

# re: Going unsafe - An AddressOf operator in C#

Saturday, September 09, 2006 3:28 AM by Anton Lapounov

There is an easier way to output a pointer value. Instead of

  int* pn = &n;
  byte* p = (byte*)&pn;

  for (int i = sizeof(int*) - 1; i >= 0; i--)
     Console.Write("{0:X2}", p[i]);
  Console.WriteLine();

I would use

  string format = "{0:X" + IntPtr.Size * 2 + "}";
  Console.WriteLine(format, (long)&n);

# re: Getting started with SQL Server 2005 Everywhere Edition

Saturday, September 09, 2006 10:50 AM by Tommy Carlier

Nice intro to SQL Server Everywhere. One of the possible scenario's is to use SQL/e as a file format for your application. If you create a word processor, or a similar document oriented app, instead of creating a custom file format, you could use a SQL/e file, where the elements are stored in tables.

# re: Going unsafe - An AddressOf operator in C#

Sunday, September 10, 2006 10:56 PM by bart

Great tip Anton! Thanks for reading my blog and providing the valuable feedback.

# re: AppDomain Shadow Copy explained

Wednesday, September 13, 2006 12:12 AM by gelder

How do I, if I want to enable Shadow copy to diferent directory than bin, in the web.config?

# re: Vista's registry virtualization and Visual Studio 2005 debugging

Wednesday, September 13, 2006 10:01 AM by Brian Binnerup

This is a good post - I have ran into the same problem - but...

How would one solve this - how can you write stuff to registry that is shared by users?

Regards,

Brian

# re: Creating a WCF POP3 tunnel - Part 0 - Introduction

Wednesday, September 13, 2006 2:21 PM by denis bider

Hey - everyone knows that the way to do this is to simply use an SSH server. ;)

# re: Vista's registry virtualization and Visual Studio 2005 debugging

Wednesday, September 13, 2006 6:44 PM by bart

Hi Brian,

Haven't tried it yet, but looks like you need to elevate your program to "run as administrator". Automatic program elevation can be controlled through the manifest but I didn't have the time yet to investigate it further. I'll try to blog about this somewhere in the near future.

-Bart

# re: Creating a WCF POP3 tunnel - Part 0 - Introduction

Wednesday, September 13, 2006 6:47 PM by bart

Hi Denis,

Thanks for your feedback. There is, however, to my opinion no such thing as "the way". The goal of this blog series is to make an SSH-free solution, but more important to show some key concepts of WCF with this problem statement as a starting point.

-Bart, who tries (and succeeds) to live an SSH-free live :-)

# re: Creating a WCF POP3 tunnel - Part 1 - A simple POP3 client in C#

Thursday, September 14, 2006 7:05 PM by Alexey

Cool. Wait continue!!!
Thank you!!!

# re: Creating a WCF POP3 tunnel - Part 3 - A look on the client-side

Friday, September 15, 2006 11:34 AM by DeBiese

Question: could you tunnel the msn messenger protocol using wcf?

I like this example btw, nicely explained.

# re: Using System.Windows.Forms.MessageBox in PowerShell

Saturday, September 16, 2006 9:06 PM by /\/\o\/\/

Very cool example of using the where Cmdlet !

Greetings /\/\o\/\/

# re: Using System.Windows.Forms.MessageBox in PowerShell

Saturday, September 16, 2006 10:48 PM by Karl Prosser

this is a cool insight and technique.. sure it does seem redundant when there is the -confirm switch however there are commadnlets that don't support confirm, and functions, dotnet methods that don't even and can't support confirm (i.e lets say there was no cmdlet such as stop-process, and you had to do $_.kill() then your technique would be great.. maybe a cool function or cmdlet, would be wrapping up this functionality into a function or cmdlet, which takes in a parameter which is a scriptblock that generates the text for the messagebox, and filters the pipeline accordingly.
i.e (this is psuedo code, i didn't go check that the parameter names were correct

gps | confirm-messagebox { "do you really want to stop $_.processname } | foreach { $_.kill() }

# Workflow Foundation Learning - I DID IT!

Saturday, September 16, 2006 11:59 PM by while(availableTime>0) {

Well, today (4th of September 2006, almost the independence day of my country) I decided to learn about...

# Workflow Foundation Learning - I DID IT!

Saturday, September 16, 2006 11:59 PM by while(availableTime>0) {

Well, today (4th of September 2006, almost the independence day of my country) I decided to learn about...

# Workflow Foundation Learning - I DID IT!

Saturday, September 16, 2006 11:59 PM by while(availableTime>0) {

Well, today (4th of September 2006, almost the independence day of my country) I decided to learn about...

# Workflow Foundation Learning - I DID IT!

Saturday, September 16, 2006 11:59 PM by while(availableTime>0) {

Well, today (4th of September 2006, almost the independence day of my country) I decided to learn about...

# Workflow Foundation Learning - I DID IT!

Saturday, September 16, 2006 11:59 PM by while(availableTime>0) {

Well, today (4th of September 2006, almost the independence day of my country) I decided to learn about...

# re: Using System.Windows.Forms.MessageBox in PowerShell

Sunday, September 17, 2006 7:27 AM by Lee

This is really great, Bart.

I especially like the way that you dealt with the topic in such a clear tutorial fashion.

# Your first Windows Live Messenger add-in

Sunday, September 17, 2006 7:19 PM by It's Way Too Early For This

Once again, Bart delivers a very verbose &quot;how-to&quot;. This one is about MSN Live Messenger Add-ins and contains

# Code 39 barcodes in C#

Monday, September 18, 2006 7:34 AM by It's Way Too Early For This

Another great post from Bart. Reproduced here in all it's glory. Thanks for your contributions, Bart!

# Tim Van Wassenhove &raquo; Blog Archive &raquo; Code 39 barcodes recognizer

# &amp;amp;quot;Windows Powershell in action&amp;amp;quot;

Tuesday, September 19, 2006 12:07 AM by [MSFT-BE] Arlindo's Blog - IT Pro Evangelist

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; I am currently reading the first chapters of a Powershell...

# An ASP.NET .ashx HTTP handler for Code-39 barcode generation

Tuesday, September 19, 2006 3:22 AM by B# .NET Blog

Introduction
In my previous blog post on Code-39 barcodes, I've shown you guys how to generate Code-39...

# An ASP.NET .ashx HTTP handler for Code 39 barcode generation

Tuesday, September 19, 2006 7:31 AM by It's Way Too Early For This

I dig Bart's contributions. Here's yet another one. A follow on to his previous post on the Code 39 Barcode

# An ASP.NET .ashx HTTP handler for Code 39 barcode generation

Tuesday, September 19, 2006 7:31 AM by It's Way Too Early For This

I dig Bart's contributions. Here's yet another one. A follow on to his previous post on the Code 39 Barcode

# re: Creating a WCF POP3 tunnel - Part 3 - A look on the client-side

Tuesday, September 19, 2006 8:15 AM by Suddenelfilio

A very very nice example, but I do agree with DeBiese above. Do you think the Msn protocol can be tunneled also? It would open up a lot of nice features ;-)

# re: Your first Windows Live Messenger add-in

Tuesday, September 19, 2006 10:39 AM by Monkeyget

Looks like there are quite a bit of fun things to do.
This add-in system looks way better than the SDK i've tested here : https://www.robotinvaders.com/main/About.aspx
(Hint:  you know your sdk is bad when it requires to install a webserver that's always running just to configure a few settings)

# re: Creating a WCF POP3 tunnel - Part 3 - A look on the client-side

Tuesday, September 19, 2006 2:24 PM by bart

Hi folks,

In theory you can tunnel anything as long as the tunneling protocol (the "wrapper") has the same bidirectional support to do it (as a last resort, tunneling might just be port-mapping but that's a really cheap solution :-)). The problem with the MSN protocol is that it isn't open and there is much more of a variation in the kind of communication performed by it. You see, the POP3 (and IMAP4, SMTP) protocol is just a client-server straightforward communcation protocol whileas MSN talks to "some server" (see netstat -n to find out) but also to peer computers to transfer files without having the MSN servers in the middle. Furthermore, MSN has the server destination hardcoded in it (might be configurable too, don't have a big amount of MSN expertise) so you'd have to trick it to send its messages to your tunnel endpoint in the first place. Taking all this stuff together, a tunnel on the "application layer" (because that is exactly what I've created here) doesn't seem to be the best solution. There are good alternatives of course, such as web messenger or the use of a VPN which is a tunnel too (but lower on the network stack).

-Bart

# re: Your first Windows Live Messenger add-in

Tuesday, September 19, 2006 2:43 PM by CodeKilla@Gmail.com

This addin programming is very interesting, the only issue is, to get a good idea.

Display Uptime as personal message.

This is an idea popped into my mind the other day. To have the messenger display System Uptime in the personal message. Nice for bragging infront of your buddys :-)

based on:
http://community.bartdesmet.net/blogs/bart/archive/2005/06/08/967.aspx
thanx to the author



_______________________________________________
//Form1.Designer.cs
namespace MSNMessengerPrivateMessageChanger
{
   partial class Form1
   {
       /// <summary>
       /// Required designer variable.
       /// </summary>
       private System.ComponentModel.IContainer components = null;

       /// <summary>
       /// Clean up any resources being used.
       /// </summary>
       /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
       protected override void Dispose(bool disposing)
       {
           if (disposing && (components != null))
           {
               components.Dispose();
           }
           base.Dispose(disposing);
       }

       #region Windows Form Designer generated code

       /// <summary>
       /// Required method for Designer support - do not modify
       /// the contents of this method with the code editor.
       /// </summary>
       private void InitializeComponent()
       {
           this.components = new System.ComponentModel.Container();
           this.groupBox1 = new System.Windows.Forms.GroupBox();
           this.label2 = new System.Windows.Forms.Label();
           this.txtIntervalChange = new System.Windows.Forms.TextBox();
           this.chkShowSystemUptime = new System.Windows.Forms.CheckBox();
           this.btnChangeMSNPrivateMessage = new System.Windows.Forms.Button();
           this.label1 = new System.Windows.Forms.Label();
           this.txtMSNPrivateMessage = new System.Windows.Forms.TextBox();
           this.timerChange = new System.Windows.Forms.Timer(this.components);
           this.groupBox2 = new System.Windows.Forms.GroupBox();
           this.radioButtonOffice = new System.Windows.Forms.RadioButton();
           this.radioButtonMusic = new System.Windows.Forms.RadioButton();
           this.radioButtonGames = new System.Windows.Forms.RadioButton();
           this.groupBox1.SuspendLayout();
           this.groupBox2.SuspendLayout();
           this.SuspendLayout();
           //
           // groupBox1
           //
           this.groupBox1.Controls.Add(this.groupBox2);
           this.groupBox1.Controls.Add(this.label2);
           this.groupBox1.Controls.Add(this.txtIntervalChange);
           this.groupBox1.Controls.Add(this.chkShowSystemUptime);
           this.groupBox1.Controls.Add(this.btnChangeMSNPrivateMessage);
           this.groupBox1.Controls.Add(this.label1);
           this.groupBox1.Controls.Add(this.txtMSNPrivateMessage);
           this.groupBox1.Location = new System.Drawing.Point(7, 1);
           this.groupBox1.Name = "groupBox1";
           this.groupBox1.Size = new System.Drawing.Size(300, 162);
           this.groupBox1.TabIndex = 1;
           this.groupBox1.TabStop = false;
           //
           // label2
           //
           this.label2.AutoSize = true;
           this.label2.Location = new System.Drawing.Point(281, 52);
           this.label2.Name = "label2";
           this.label2.Size = new System.Drawing.Size(12, 13);
           this.label2.TabIndex = 8;
           this.label2.Text = "s";
           //
           // txtIntervalChange
           //
           this.txtIntervalChange.Location = new System.Drawing.Point(172, 49);
           this.txtIntervalChange.Name = "txtIntervalChange";
           this.txtIntervalChange.RightToLeft = System.Windows.Forms.RightToLeft.Yes;
           this.txtIntervalChange.Size = new System.Drawing.Size(108, 20);
           this.txtIntervalChange.TabIndex = 7;
           this.txtIntervalChange.Text = "30";
           //
           // chkShowSystemUptime
           //
           this.chkShowSystemUptime.AutoSize = true;
           this.chkShowSystemUptime.Checked = true;
           this.chkShowSystemUptime.CheckState = System.Windows.Forms.CheckState.Checked;
           this.chkShowSystemUptime.Location = new System.Drawing.Point(12, 51);
           this.chkShowSystemUptime.Name = "chkShowSystemUptime";
           this.chkShowSystemUptime.Size = new System.Drawing.Size(151, 17);
           this.chkShowSystemUptime.TabIndex = 6;
           this.chkShowSystemUptime.Text = "Show system uptime every";
           this.chkShowSystemUptime.UseVisualStyleBackColor = true;
           //
           // btnChangeMSNPrivateMessage
           //
           this.btnChangeMSNPrivateMessage.Location = new System.Drawing.Point(187, 106);
           this.btnChangeMSNPrivateMessage.Name = "btnChangeMSNPrivateMessage";
           this.btnChangeMSNPrivateMessage.Size = new System.Drawing.Size(106, 42);
           this.btnChangeMSNPrivateMessage.TabIndex = 5;
           this.btnChangeMSNPrivateMessage.Text = "Change it!";
           this.btnChangeMSNPrivateMessage.UseVisualStyleBackColor = true;
           this.btnChangeMSNPrivateMessage.Click += new System.EventHandler(this.btnChangeMSNPrivateMessage_Click);
           //
           // label1
           //
           this.label1.AutoSize = true;
           this.label1.Location = new System.Drawing.Point(6, 10);
           this.label1.Name = "label1";
           this.label1.Size = new System.Drawing.Size(50, 13);
           this.label1.TabIndex = 4;
           this.label1.Text = "Message";
           //
           // txtMSNPrivateMessage
           //
           this.txtMSNPrivateMessage.Location = new System.Drawing.Point(9, 26);
           this.txtMSNPrivateMessage.Name = "txtMSNPrivateMessage";
           this.txtMSNPrivateMessage.Size = new System.Drawing.Size(271, 20);
           this.txtMSNPrivateMessage.TabIndex = 3;
           this.txtMSNPrivateMessage.Text = "This is my private message";
           //
           // timerChange
           //
           this.timerChange.Tick += new System.EventHandler(this.btnChangeMSNPrivateMessage_Click);
           //
           // groupBox2
           //
           this.groupBox2.Controls.Add(this.radioButtonGames);
           this.groupBox2.Controls.Add(this.radioButtonMusic);
           this.groupBox2.Controls.Add(this.radioButtonOffice);
           this.groupBox2.Location = new System.Drawing.Point(11, 75);
           this.groupBox2.Name = "groupBox2";
           this.groupBox2.Size = new System.Drawing.Size(152, 73);
           this.groupBox2.TabIndex = 9;
           this.groupBox2.TabStop = false;
           this.groupBox2.Text = "Icon";
           //
           // radioButtonOffice
           //
           this.radioButtonOffice.AutoSize = true;
           this.radioButtonOffice.Location = new System.Drawing.Point(39, 9);
           this.radioButtonOffice.Name = "radioButtonOffice";
           this.radioButtonOffice.Size = new System.Drawing.Size(53, 17);
           this.radioButtonOffice.TabIndex = 0;
           this.radioButtonOffice.TabStop = true;
           this.radioButtonOffice.Text = "Office";
           this.radioButtonOffice.UseVisualStyleBackColor = true;
           //
           // radioButtonMusic
           //
           this.radioButtonMusic.AutoSize = true;
           this.radioButtonMusic.Checked = true;
           this.radioButtonMusic.Location = new System.Drawing.Point(39, 31);
           this.radioButtonMusic.Name = "radioButtonMusic";
           this.radioButtonMusic.Size = new System.Drawing.Size(53, 17);
           this.radioButtonMusic.TabIndex = 1;
           this.radioButtonMusic.TabStop = true;
           this.radioButtonMusic.Text = "Music";
           this.radioButtonMusic.UseVisualStyleBackColor = true;
           //
           // radioButtonGames
           //
           this.radioButtonGames.AutoSize = true;
           this.radioButtonGames.Location = new System.Drawing.Point(39, 54);
           this.radioButtonGames.Name = "radioButtonGames";
           this.radioButtonGames.Size = new System.Drawing.Size(58, 17);
           this.radioButtonGames.TabIndex = 2;
           this.radioButtonGames.TabStop = true;
           this.radioButtonGames.Text = "Games";
           this.radioButtonGames.UseVisualStyleBackColor = true;
           //
           // Form1
           //
           this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
           this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
           this.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
           this.ClientSize = new System.Drawing.Size(311, 169);
           this.Controls.Add(this.groupBox1);
           this.MaximizeBox = false;
           this.Name = "Form1";
           this.ShowIcon = false;
           this.ShowInTaskbar = false;
           this.Text = "MSN Messenger System Uptime Plugin";
           this.groupBox1.ResumeLayout(false);
           this.groupBox1.PerformLayout();
           this.groupBox2.ResumeLayout(false);
           this.groupBox2.PerformLayout();
           this.ResumeLayout(false);

       }

       #endregion

       private System.Windows.Forms.GroupBox groupBox1;
       private System.Windows.Forms.Button btnChangeMSNPrivateMessage;
       private System.Windows.Forms.Label label1;
       private System.Windows.Forms.TextBox txtMSNPrivateMessage;
       private System.Windows.Forms.CheckBox chkShowSystemUptime;
       private System.Windows.Forms.Timer timerChange;
       private System.Windows.Forms.TextBox txtIntervalChange;
       private System.Windows.Forms.Label label2;
       private System.Windows.Forms.GroupBox groupBox2;
       private System.Windows.Forms.RadioButton radioButtonGames;
       private System.Windows.Forms.RadioButton radioButtonMusic;
       private System.Windows.Forms.RadioButton radioButtonOffice;

   }
}

_____________________________________________________________________________________________________________________________________________
///////////////////////////////////////
// Form1.cs

using System;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;

namespace MSNMessengerPrivateMessageChanger
{
   public partial class Form1 : Form
   {
       [DllImport("user32", EntryPoint="SendMessageA")]
       private static extern int SendMessage(int Hwnd, int wMsg, int wParam, int lParam);

       [DllImport("user32", EntryPoint="FindWindowExA")]
       private static extern int FindWindowEx(int hWnd1, int hWnd2, string lpsz1, string lpsz2);
       
       //Import the WM_COPYDATA constant for the Win32 API calls    
       private const short WM_COPYDATA = 74;

       public struct COPYDATASTRUCT
       {
            public int dwData;
            public int cbData;
            public int lpData;
       }
       public COPYDATASTRUCT data;

       public Int64 uptime;   // Here will the UpTime value be stored
       
       // In such structure will the GetUptime() store the proper time
       public struct TimeStruct
       {
           public int Seconds;
           public int Minutes;
           public int Hours;
           public Int64 Days;
       }
       public TimeStruct uptimeAll = new TimeStruct();
       
       public int VarPtr(object e)
       {
            GCHandle GC = GCHandle.Alloc(e, GCHandleType.Pinned);
            int gc = GC.AddrOfPinnedObject().ToInt32();
            GC.Free();
            return gc;
       }

       private void SendMSNMessage(bool enable, string category, string message)
       {
            string buffer = "\\0" + category + "\\0" + (enable ? "1" : "0") + "\\0{0}\\0" + message + "\\0\\0\\0\\0\0";
            int handle = 0;

            data.dwData = 0x0547;
            data.lpData = VarPtr(buffer);
            data.cbData = buffer.Length * 2;

            handle = FindWindowEx(0, handle, "MsnMsgrUIManager", null);
            if (handle > 0)
                 SendMessage(handle, WM_COPYDATA, 0, VarPtr(data));
       }

       public Form1()
       {
           InitializeComponent();
       }
       
       // This function will calculate how much days, hours,
       // minutes, seconds have passed.
       // Requires a ref to a TimeStruct as parameter.
       //
       public void GetUptime(ref TimeStruct time)
       {
           time.Seconds = (int)uptime / 1000; //1000 miliseconds = 1 second
           time.Minutes = time.Seconds / 60;
           time.Hours = time.Minutes / 60;
           
           time.Days = time.Hours / 24; //we got days

           //now let's calculate the others
           time.Hours = time.Hours - (int)time.Days * 24;
           time.Minutes = time.Minutes - time.Hours * 60;
           time.Seconds = time.Seconds -((int)time.Days * 24 * 60 * 60) - (time.Hours * 60 * 60) - (time.Minutes * 60);

           //easy does it :-)
       }
       
       private void GetSystemUptime()
       {
           uptime = System.Environment.TickCount; //Gets the number of milliseconds elapsed since the system started.
           GetUptime(ref uptimeAll);          
       }

       private void btnChangeMSNPrivateMessage_Click(object sender, EventArgs e)
       {

           string MSNIcon = "Music"; //Music = Default;

           GetSystemUptime();

           if (radioButtonGames.Checked == true) MSNIcon = "Games";
           if (radioButtonMusic.Checked == true) MSNIcon = "Music";
           if (radioButtonOffice.Checked == true) MSNIcon = "Office";


           //"Office", "Games" or "Music"
           if (chkShowSystemUptime.Checked == true)
           {
               //show system uptime
               timerChange.Enabled = true;
               timerChange.Interval = int.Parse(txtIntervalChange.Text) * 1000;

               //show system uptime in msn like: //System Up Time: 0 Days, 11 Hours, 52 Minutes, 30 Seconds
               SendMSNMessage(true, MSNIcon, "System Up Time: " + uptimeAll.Days + " Days, " + uptimeAll.Hours + " Hours, " + uptimeAll.Minutes + " Minutes, " + uptimeAll.Seconds + " Seconds");
               
           }
           else
           {   //or else
               timerChange.Enabled = false; //turn off the timer
               
               SendMSNMessage(true, MSNIcon, txtMSNPrivateMessage.Text);  //set the text
           }

       }
   }
}

# re: Getting started with SQL Server 2005 Everywhere Edition

Tuesday, September 19, 2006 3:29 PM by Jeff

This is an excellent article on SQL Server 2005 Everywhere Edition.  Congrats

# EAN-13 barcodes in C#

Tuesday, September 19, 2006 6:11 PM by B# .NET Blog

Introduction
A couple of days ago I posted about Code 39 barcode generation in C#&amp;nbsp;(and here). Today...

# EAN-13 barcodes in C#

Tuesday, September 19, 2006 6:11 PM by B# .NET Blog

Introduction
A couple of days ago I posted about Code 39 barcode generation in C#&amp;nbsp;(and here). Today...

# re: EAN-13 barcodes in C#

Wednesday, September 20, 2006 5:03 PM by Geert Roete

Great explanation Bart.

I've wrote a library application (with barcode support) which uses a font to create the barcodes. Just calculated with the checksum and then printed the text to screen, using the barcode Font. Also works for reporting Services. Works great!

# Windows Vista and the Windows key - Running Quick Launch Items

Friday, September 22, 2006 11:52 AM by B# .NET Blog

I blogged about &quot;Windows Vista and the Windows key&quot; before. A few days ago I read the Windows Vista Secret...

# Windows Vista and the Windows key - some new key combinations

Friday, September 22, 2006 11:53 AM by B# .NET Blog

The title tells it all: time to have some new Windows key combinations in Windows Vista. An overview:...

# re: WF - Exposing a workflow through a web service

Friday, September 22, 2006 1:29 PM by Daniel

Excellent !
Can't wait for configuring Persistence services post.

# re: Some notes on the CLI tail call support (and some F# links)

Saturday, September 23, 2006 12:29 AM by Can Erten

I really liked that post. Thank you for informing about Tail in CLR. Dynamic languages are just great.
By the way how to call CLR tail function (or whatever in CLR) from C#? Is it possible to use it by using Reflection.Emit namespace.
Thank you.

# re: Some notes on the CLI tail call support (and some F# links)

Saturday, September 23, 2006 6:50 PM by Jonathan de Halleux

# re: Tom's MSDN Belux Corner live

Sunday, September 24, 2006 7:32 PM by Tom Mertens

The current plan is: my original blog will contain everything (also somewhat more personal stuff) while my blogs.msdn.com/tommer blog will only contain posts that will interest the majority of the (Belgian / Luxemburger) developer community.

Man, you're so quick in finding these things out... ;)

# re: Tom's MSDN Belux Corner live

Sunday, September 24, 2006 10:21 PM by bart

Hmm, blogging at the speed of thought I guess. Anyway, thanks for the clarificatin and keep up the good work!

# re: C# Quiz - 'virtual', 'new' and 'override'

Monday, September 25, 2006 11:21 PM by Consultant

[quote]
It's remarkable how much people don't know about the new keyword in this context.
[/quote]

That is remarkable, truely ... I do however contradict your remark as conflicting OO design. The new keyword can be very powerful, I have a few stratigies on entity relationship models, and complex application flow blocks that almost implements AOP style inheritance.

Your quiz was funny though

# re: C# Quiz - 'virtual', 'new' and 'override'

Tuesday, September 26, 2006 12:04 PM by bart

Hi Consultant,

I do agree there are scenarios where the new keyword is appropriate to use; and indeed, if it had no use, it would have made little chance to be included in a pragmatic language like C#. The fact however is that from a pure OO point of view, one says that the method being invoked depends on the type of the object, not the reference being used to point to that object. It this based on this observation, one can label hiding as anti-OO.

But as usual, if you use it with care and know what you're doing, you might be happy to use it.

-Bart

# re: .NET 2.0 string interning inside out

Wednesday, September 27, 2006 11:06 AM by Andy Maule

Great post Bart. I had no idea about string interning. It's really interesting to see it explained at the byte code level, I think it's good to learn how things work at this level. Keep up the good work!

# .NET 2.0 string interning inside out

Wednesday, September 27, 2006 11:19 AM by B# .NET Blog

Introduction
Time for some cool .NET 2.0 feature that might prove useful in some scenarios: string interning....

# re: .NET Remoting with Windows authentication

Wednesday, September 27, 2006 6:52 PM by Ben

Excellent article.  Thank you.

When I change the tcp channel to an http channel,

   ChannelServices.RegisterChannel(httpChannel, true);
   HttpChannel httpChannel = new HttpChannel(9888);

the code throws an exception.  

"Host the service in IIS with Integrated Windows Authentications to secure the server".

Our application is a windows service and currently uses an HTTP channel in 1.1 without being hosted in IIS.   We would love to upgrade to 2.0 and secure the channel but don't want to require IIS.   Is this possible?


# re: .NET Remoting with Windows authentication

Wednesday, September 27, 2006 7:16 PM by bart

Hi Ben,

I didn't try the HTTP channel for this particular scenario yet but it looks pretty justified to require IIS with Integrated Windows Authentication to support the authentication. If you don't use the security flag (second parameter of RegisterChannel set to false), it should work fine I think.

-Bart

# WF - How to make a workflow dynamic? - Part 2

Friday, September 29, 2006 1:24 AM by B# .NET Blog

Introduction
One of the goals of workflows in general is to make &quot;logic&quot;, &quot;business processes&quot;, etc&amp;nbsp;more...

# re: .NET 2.0 string interning inside out

Friday, September 29, 2006 10:17 AM by Muff

But what the hell is it good for? Gimme real world practical examples.

# re: .NET 2.0 string interning inside out

Friday, September 29, 2006 11:51 AM by bart

Hi Muff,

Thanks for the feedback. The basic goal of string interning is to reduce the memory footprint of an application when it deals with multiple "copies" of the same string. Notice this happens on the app domain level, so when talking about e.g. an ASP.NET application that uses a data connection string (DSN) all over again for each and every user, you'll see the same string (i.e. physical address) being used instead of ending up with multiple copies. In the lion's part of the cases you won't have to cope with it directly; it just works fine as shown in the post. However, when you decide to use things such as runtime string concatenation and you *know* other "sessions" within the same application have a great chance to do exactly the same, you might choose to intern that resulting string by caling String.Intern. That way, you can take maximum benefit out of this feature.

Having seen the discussion of the SSCLI implementation should not scare you; I consider an information overshoot to be valuable in helping to remember about the basic idea of the feature ("once I knew how it worked internally, I read it on Bart's blog; now I just remember the basic idea of it, but that's fair enough to work with it"). Just a little philosophical side-note from my side though.

Hope this additional explanation helps,

-Bart

# Visual Studio &amp;quot;Orcas&amp;quot; September CTP

Friday, September 29, 2006 12:00 PM by B# .NET Blog

Hot from the build lab: the Visual Studio &quot;Orcas&quot; September CTP. There are tons of new features in there:...

# re: Using System.Windows.Forms.MessageBox in PowerShell

Saturday, September 30, 2006 9:14 AM by Rick

The stealthy nature of the dialog box without focus had me stumped for a while :)

i.e. under XP Pro the MessageBox pops up in the background and the script (which still has focus) "hangs" waiting....

It was a Duh moment for me :)


# Walkthroughs on writing Windows Live Messenger Addins with .NET

Saturday, September 30, 2006 3:12 PM by David Boschmans Weblog

Since version 8 of MSN Messenger it's possible to write add-ins with .NET for MSN/Windows Live Messenger....

# re: Your first Windows Live Messenger add-in

Sunday, October 01, 2006 1:25 AM by Andreas

Do you know if it's possible to start an addin automatically? I've created and addin with some of the functions above (generic count-down and forbidden words (passwords)).

I'm also thinking about saving stats (how many messages from each user and stuff) but the addin will be almost useless if I have to load it manually since I will most likely forget most times.

# Attribut StringFreezing : gelez vos cha&amp;#238;nes litt&amp;#233;rales

Sunday, October 01, 2006 11:59 PM by CoqBlog

Encore un que je connaissais pas et que je viens de d&#233;couvrir via Bart De Smet&amp;nbsp;: l'attribut StringFreezing....

# re: MVP v4.0 shipped

Monday, October 02, 2006 4:20 AM by Mitch Wheat

Hi  Bart

Congratulations! I'm a big fan of your blog. Keep up the fantasic work. Success!

# re: MVP v4.0 shipped

Monday, October 02, 2006 4:22 PM by David Boschmans

Congratulations! Well deserved and keep the post coming ;-)

# Creating Barcodes On The Fly With C#

Monday, October 02, 2006 7:06 PM by Tom's corner

# re: MVP v4.0 shipped

Monday, October 02, 2006 8:24 PM by Dimitri

Congratulations Bart!!!

# Creating Barcodes On The Fly With C#

Monday, October 02, 2006 10:06 PM by Tom's corner

# Creating Barcodes On The Fly With C#

Monday, October 02, 2006 10:06 PM by Tom's corner

# re: MVP v4.0 shipped

Tuesday, October 03, 2006 12:11 AM by Wim De Cleen

Congratulations, deserved the title again.

# re: MVP v4.0 shipped

Thursday, October 05, 2006 2:04 AM by Arne

Een dikke proficiat kerel! Met deze onderscheiding zullen we in het laatste jaar de rasechte burgies ke laten zien wat we kunnen!

# re: Going unsafe - An AddressOf operator in C#

Thursday, October 05, 2006 2:53 AM by Scott

Try String.Intern  :-)

# re: A graphical MessageBox confirmation cmdlet in PowerShell

Thursday, October 05, 2006 7:52 AM by Lee

Actually, it wouldn't require any session state between cmdlet calls.  PowerShell instantiates your class and calls your BeginProcessing() override before the first object comes down the pipeline, calls ProcessRecord() for each object as it comes down the pipeline, and EndProcessing() after the last object has been processed.

Your cmdlet instance persists for that whole time, so you could simply store the "Yes to All" / "No to All" response in a private variable.

# re: A graphical MessageBox confirmation cmdlet in PowerShell

Thursday, October 05, 2006 12:30 PM by bart

Hi Lee,

Indeed forgot about that :$. The danger of the last sentence I guess :). I'll update the post accordingly.

-Bart

# A graphical MessageBox confirmation cmdlet in PowerShell

Thursday, October 05, 2006 12:32 PM by B# .NET Blog

Introduction
I've been posting about Windows PowerShell programmability quite a bit lately. A few interesting...

# A graphical MessageBox confirmation cmdlet in PowerShell

Thursday, October 05, 2006 12:32 PM by B# .NET Blog

Introduction
I've been posting about Windows PowerShell programmability quite a bit lately. A few interesting...

# A graphical MessageBox confirmation cmdlet in PowerShell

Thursday, October 05, 2006 12:32 PM by B# .NET Blog

Introduction
I've been posting about Windows PowerShell programmability quite a bit lately. A few interesting...

# A graphical MessageBox confirmation cmdlet in PowerShell

Thursday, October 05, 2006 12:32 PM by B# .NET Blog

Introduction
I've been posting about Windows PowerShell programmability quite a bit lately. A few interesting...

# re: Going unsafe - An AddressOf operator in C#

Thursday, October 05, 2006 12:34 PM by bart

Hi Scott,

That's exactly what was covered in my post on string interning a couple of days ago:

http://community.bartdesmet.net/blogs/bart/archive/2006/09/27/4472.aspx

-Bart

# Creating Barcodes On The Fly With C#

Friday, October 06, 2006 6:04 AM by It's Way Too Early For This

I had a couple of pointers to two of these articles, but here is the whole catalog of barcode code from

# Creating Barcodes On The Fly With C#

Friday, October 06, 2006 6:04 AM by It's Way Too Early For This

I had a couple of pointers to two of these articles, but here is the whole catalog of barcode code from

# Creating Barcodes On The Fly With C#

Friday, October 06, 2006 6:04 AM by It's Way Too Early For This

I had a couple of pointers to two of these articles, but here is the whole catalog of barcode code from

# re: Using aliases in C# - Notes on extern alias, the :: operator and even more

Saturday, October 07, 2006 4:28 AM by Robert W. Anderson

Great post.  The part about disambiguating across libraries actually helped me deal with an issue I had today.

You did get one thing wrong, though: the VS2005 UI does support library aliases directly without getting into MSBuild.  It can be set under the propeties pane for the referenced library under "Aliases".

# re: Using aliases in C# - Notes on extern alias, the :: operator and even more

Saturday, October 07, 2006 2:14 PM by bart

Hi Robert,

Thanks for pointing this out. I guess it's the price to pay when you live close to the bottom of the stack instead of relying on tools on a day to day basis :-). Call me a command-line and csc freak if you will... No seriously, I'm often impressed about the tools in a positive way when I discover this kind of little things that make life easier, so thx a lot.

-Bart

# re: Using aliases in C# - Notes on extern alias, the :: operator and even more

Saturday, October 07, 2006 4:58 PM by Robert W. Anderson

Glad to help . . . I move up and down the stack fairly often depending on what I'm doing and what it is for.  I personally get pretty annoyed when the VS doesn't directly support use cases like this one.  My personal (un)favorite: no way to add Win32 resources to managed assemblies through VS.

Cheers,
Robert

# Tim Van Wassenhove &raquo; Blog Archive &raquo; Code 39 barcodes recognizer

# re: Getting started with Windows Workflow Foundation (WF)

Sunday, October 08, 2006 8:16 AM by chandrashekar

when i try to open .xoml file in design view iam gettint this error

"method   'GetSelectedPropertyContext' in type Microsoft.WorkFlow.VSDesigner.ExtendedUIService' from assembly 'Microsoft.WorkFlow.VsDesigner version=3.0.0.0, Culture=neutral, publicKeyToken=31bf3856ad364e351 does not have implementation"

# Xen C?? LINQ &laquo; 1nn0::Blog /* by Alberto Fabiano */

Monday, October 09, 2006 5:34 AM by Xen C?? LINQ « 1nn0::Blog /* by Alberto Fabiano */

# .Sitecore &raquo; Good news about Web Application model and namespaces

# 2006 October 09 &laquo; Angel &#8220;Java&#8221; Lopez on Blog

Monday, October 09, 2006 11:42 AM by 2006 October 09 « Angel “Java” Lopez on Blog

# Learning Windows Workflow Foundation &laquo; Angel &#8220;Java&#8221; Lopez on Blog

# Learning Windows Workflow Foundation &laquo; Angel &#8220;Java&#8221; Lopez on Blog

# Learning Windows Workflow Foundation &laquo; Angel &#8220;Java&#8221; Lopez on Blog

# Learning Windows Workflow Foundation &laquo; Angel &#8220;Java&#8221; Lopez on Blog

# Learning Windows Workflow Foundation &laquo; Angel &#8220;Java&#8221; Lopez on Blog

# Aprendiendo Windows Workflow Foundation

Monday, October 09, 2006 11:58 AM by Angel "Java" Lopez

En estos dias, he ordenado algunos enlaces y recursos sobre el Windows Workflow Foundation, el motor

# Aprendiendo Windows Workflow Foundation

Monday, October 09, 2006 11:58 AM by Angel "Java" Lopez

En estos dias, he ordenado algunos enlaces y recursos sobre el Windows Workflow Foundation, el motor

# Aprendiendo Windows Workflow Foundation

Monday, October 09, 2006 11:58 AM by Angel "Java" Lopez

En estos dias, he ordenado algunos enlaces y recursos sobre el Windows Workflow Foundation, el motor

# Aprendiendo Windows Workflow Foundation

Monday, October 09, 2006 11:58 AM by Angel "Java" Lopez

En estos dias, he ordenado algunos enlaces y recursos sobre el Windows Workflow Foundation, el motor

# Aprendiendo Windows Workflow Foundation

Monday, October 09, 2006 11:58 AM by Angel "Java" Lopez

En estos dias, he ordenado algunos enlaces y recursos sobre el Windows Workflow Foundation, el motor

# 2006 October 09 &laquo; Angel &#8220;Java&#8221; Lopez on Blog

Monday, October 09, 2006 12:04 PM by 2006 October 09 « Angel “Java” Lopez on Blog

# re: Tales about dynamic languages, Lightweight Code Generation and DynamicMethod

Monday, October 09, 2006 9:02 PM by .NET Junkie

I personally rather see the add.Invoke call replaced by the more readable:
X a = (X)add.CreateDelegate(typeof(X));
int result = a(2, 3);
Where X is a delegate defined by:
delegate int X(int a, int b);

# re: Tales about dynamic languages, Lightweight Code Generation and DynamicMethod

Tuesday, October 10, 2006 3:05 AM by bart

I agree that's a possibility too, but only if you know the signature upfront. In upcoming posts you'll see the reason why Invoke was chosen in the first place.

# re: Tales about dynamic languages, Lightweight Code Generation and DynamicMethod

Wednesday, October 11, 2006 10:50 PM by dotNET Junkie

Great, I'm looking forward to it!

# Why I love Dell

Thursday, October 12, 2006 4:11 PM by B# .NET Blog

A little story of the day. As you can probably expect, I'm a heavy laptop user. Now, I'm very happy with...

# re: Why I love Dell

Thursday, October 12, 2006 10:51 PM by Gabriel Lozano-Morán

Yep, and that is how they keep their customers happy even after selling them crappy hardware. Nah just kidding, Dell sells decent hardware. I especially love the XPS series!

# re: Talking about Windows Vista BitLocker Drive Encryption - important installation notes

Friday, October 13, 2006 2:30 PM by Green_Monkey23

Sorry for your time.... Why i can't see images on this resource?
My Browser is: Opera.
Thank you.

# re: WF - Working with Tracking Services

Sunday, October 15, 2006 2:45 PM by Stefano Demiliani

This series of posts regarding WF is really wonderful. Don't stop posting interesting things like that Bart.

# re: An ASP.NET .ashx HTTP handler for Code 39 barcode generation

Sunday, October 15, 2006 7:12 PM by papes510

Great work thanks a lot. Just a small issue, when i try to print the page the barcodes appear as solid black boxes. if i import the file into fireworks and set canvas to 'white' it fixes the problem. any ideas?

Thanks!

# re: Talking about Windows Vista BitLocker Drive Encryption - important installation notes

Sunday, October 15, 2006 8:48 PM by bart

No idea; images are just plain .jpg files available via HTTP directly - http://www.bartdesmet.net/images/bitlocker.jpg

-Bart

# re: An ASP.NET .ashx HTTP handler for Code 39 barcode generation

Sunday, October 15, 2006 8:59 PM by bart

I can't directly repro the issue over here (i.e. things print fine). You might want to do some experiments with

Bitmap bmp = new Bitmap(w, h, PixelFormat.Format32bppArgb);

in Code39.cs

and the codec selection in the .ashx file to experiment with different output formats:

foreach (ImageCodecInfo e in ImageCodecInfo.GetImageEncoders())
{
  if (e.MimeType == "image/png")
  {
     codec = e;
     break;
  }
}

# re: WF - Working with Tracking Services

Sunday, October 15, 2006 9:06 PM by bart

Stefano,

Thanks for reading my posts. I'd say: don't worry be happy, the next four days WF posts will appear online.

-Bart

# re: Creating a WCF POP3 tunnel - Part 3 - A look on the client-side

Tuesday, October 17, 2006 3:25 AM by Koen van Putten

you can Configure a program (like msn) to connect to the tunnel program with a program called SocksCap if i'm not very mistaking

# Windows Workflow Foundation Resources

Tuesday, October 17, 2006 7:04 PM by while(availableTime>0) {

Since I&#180;ve been working with Windows Workflow Foundation (Project BHAL), I&#180;ve gathered quite a list of...

# Windows Workflow Foundation Resources

Tuesday, October 17, 2006 7:04 PM by while(availableTime>0) {

Since I&#180;ve been working with Windows Workflow Foundation (Project BHAL), I&#180;ve gathered quite a list of...

# &amp;quot;Windows Powershell in action&amp;quot;

Wednesday, October 18, 2006 2:07 PM by [MSFT-BE] Arlindo's Blog - IT Pro Evangelist

I am currently reading the first chapters of a Powershell book called &quot;Windows Powershell in Action&quot;

# re: It's there - please welcome Internet Explorer 7

Thursday, October 19, 2006 2:44 PM by Ramon Smits

Why would I want to download IE7 when there is FF? IE7 *still* doesn't comply with css standards and has an outdated rendering engine.

Now you will have to have add another seperate stylesheet to let IE7 display your website correct.

No I will wait installing it when windows update starts wanking about it :) and still happily use FF as my main browser.

# re: It's there - please welcome Internet Explorer 7

Thursday, October 19, 2006 4:45 PM by bart

Hi Ramon,

Posting about IE always yields the necessary amount of comments. However, for complains and suggestions, contact the IE team via http://blogs.msdn.com/ie or via Microsoft Connect.

A few remarks however:

- "IE7 *still* doesn't comply with css standards and has an outdated rendering engine." - For CSS standards support, see http://blogs.msdn.com/ie/archive/2005/07/29/445242.aspx. Things are getting better, but further improvement is always possible. In every browser. Lots of people see things like Acid2 as the ultimate browser test, which simply doesn't make sense as these are not compliance checking tools.

- "still happily use FF as my main browser" - I'll stick with IE7, but taste matters. However, don't take security as an argument for the FF choice (search for Secunia on my blog).

From your blog: "I only tested our design with Internet Explorer and Firefox and it looks great on those browsers." So you care about website rendering, do you? Then you *should* have IE7 RC on your machine already to test things, do you? Time to upgrade *now* then :p.

To conclude: things are only getting better but there's still room for improvement. Every browser (and every app) has its shortcomings and vulnerabilities, and that won't be different in the foreseeable future. Nevertheless, please provide your constructive feedback to the IE team which is now in the middle of planning IE8 and IE9 (no official names yet).

-Bart

# TIPS - Activer Bitlocker sans TPM

Il est toujours possible sur la RC1 et RC2 de Vista d'activer la fonctionnalit&#233; d'encryption du disque

# re: .NET 2.0 type forwarding - System.Runtime.CompilerServices.TypeForwardedToAttribute explained

Monday, October 23, 2006 5:59 PM by hanu

Your explanation is much better than one of the .net books i bought. thank you hanu

# re: Your first Windows Live Messenger add-in

Monday, October 23, 2006 8:10 PM by kho

hey, i'm new to programming, but can i write those add-in using C++?

# re: &quot;Vista brings clarity to your life&quot; - An example

Monday, October 23, 2006 8:16 PM by TheMuuj

The *best* part is you don't have to be an Administrator to view the stupid thing. Because I just love it when, out of habit, I double click on the clock, only to be told that I do not have permission to change the time. I wasn't trying to change the time! Do people change their time enough that it only needs to be a double-click away at any point? Anyway, Vista got it right, and it looks good as well.

# re: Your first Windows Live Messenger add-in

Monday, October 23, 2006 10:03 PM by bart

Hi Kho, Yes you can, as long as you write "managed code", for example in Managed C++. -Bart

# re: WF - How to make a workflow dynamic? - Part 2

Tuesday, October 24, 2006 11:39 PM by Chris

Thanks for the great information. I do however have 1 question. On a project that we are looking at doing, we are looking at the possibility of using WW (Windows Workflow) along with XML. I know that the WW will allow me to create a workflow as a XAML file. We are wanting to keep several XAMLs in a database and pull them as needed. Do you have an example of how to do this? I have been searching and found out alot, but alot of the examples and things I have played with come close, but not close enough to what I am looking for. Any help would be appreciated. Thanks Chris

# re: An ASP.NET .ashx HTTP handler for Code 39 barcode generation

Wednesday, October 25, 2006 12:27 AM by papes510

Hey, Ok so i figured out that firefox doesnt like png files very much. That was the reason it printed black, it works perfectly in IE though. The only thing is in IE it prints with a light blue background. I tried changing the format to "image/jpeg" but it didnt even display the image like that. Any ideas? Thanks!

# re: WF - How to make a workflow dynamic? - Part 2

Wednesday, October 25, 2006 1:49 AM by bart

Hi Chris, Thanks for reading my blog and the feedback you provide. The scenario you describe is perfectly feasible to do, thanks to the WorkflowCompiler support in WF (which is the abbreviation of Windows Workflow Foundation, instead of WW). I'll try to blog about such a scenario in the foreseeable future (i.e. November). Please contact me at info_at_bartdesmet_dot_net to explain your scenario in more detail. -Bart

# Virtual Server 2005 R2 SP1 - VHDMount.exe can mount VHD files as volumes

Thursday, October 26, 2006 11:48 AM by James's Blog

# re: Your first Windows Live Messenger add-in

Saturday, October 28, 2006 9:52 AM by Rob Sitter

I might add that they should sign their assemblies with a strong name key file and then gacutil the sucker on build or they'll come back to you asking "Why can't I do this, why can't I do that" blah blah blah :)

# Getting started with SQL Server 2005 Everywhere Edition

Saturday, October 28, 2006 11:36 PM by JRB Technology

Don&#8217;t you hate the fact the Microsoft nearly forced you to use their database system when creating database driven applications? They want you to use the Microsoft SQL Server Desktop Engine when making even the most basic applications. MSDE is a

# re: Demo tip - Pushd &amp; Popd

Sunday, October 29, 2006 4:21 PM by TheMuuj

PUSHD/POPD works on Windows 2000, too (at least in SP4). PUSHD can also change to a network path, whereas CD cannot (which is probably my biggest annoyance with the command prompt in Windows today). It does so by creating a temporary share, starting with Z:, and working backwards. *Please* tell me that Windows Power Shell can change to a UNC path without a lot of hassle.

# The October 06 Month Report

Tuesday, October 31, 2006 11:44 AM by B# .NET Blog

One month after the start of the Daily Blogging Mission I&#39;m happy to see I survived yet another month:

# The October 06 Month Report

Tuesday, October 31, 2006 11:44 AM by B# .NET Blog

One month after the start of the Daily Blogging Mission I&#39;m happy to see I survived yet another month:

# Windows Vista の新しい UAC の機能 (セキュリティ) でコードが起動しなくなる場合の対処について

Wednesday, November 01, 2006 4:20 PM by 松崎 剛 ブログ (Tsuyoshi Matsuzaki Blog)

こんにちは。 Microsoft On で出ずっぱりで、ブログが停滞しすみません。 今日は、そんな Microsoft On で非常にご質問の多い、上記について方法概要しかご回答できていませんので、手順の詳細を記載します。(昨日のセミナーでもご質問を受けました。)

# re: Exploring the IE7 RSS platform in C# - Part 1

Wednesday, November 01, 2006 11:51 PM by Wim De Cleen

Maybe you can use my earlier findings on the Microsoft Feeds API, I did a series about it in february this year, about importing an exporting feed lists. Here are the posts Microsoft Feeds API, a Really Simple Sample Microsoft Feeds API, import and export feed lists Microsoft Feeds API, event handlers Microsoft Feeds API, a Really Simple Sample (PART II) Microsoft Feeds API, a Simple List Extensions (SLE) sample

# Community Server Daily News for Friday, November 3, 2006

Friday, November 03, 2006 1:40 PM by Community Server Daily News

news of the day a grab bag for what's happening in Community Server Wyatt Preul, like Ben, is in suspense

# re: Demo tip - Pushd &amp; Popd

Saturday, November 04, 2006 7:47 PM by denis bider

I believe the PUSHD and POPD commands have been present in the 4DOS shell since some 17 years ago... way to go, Microsoft - adding this to Windows in 200x ;)

# Hot releases: .NET Framework 3.0, Windows SDK, 2007 Office System + VSTO, ASP.NET AJAX, SQL Server 2005 Compact Edition

Tuesday, November 07, 2006 8:01 AM by B# .NET Blog

A big date for Microsoft with the release of a lot of exciting technologies, some of which still in beta

# Community Server Daily News for Tuesday, November 7, 2006

Tuesday, November 07, 2006 1:35 PM by Community Server Daily News

news of the day a grab bag for what's happening in Community Server Telligent launches BlogMailr a new,

# re: TechEd 2006 Developers - Second day report

Wednesday, November 08, 2006 12:17 AM by Jan Tielens

Hi Bart, I enjoyed our conversation as well! Just to let you know, for your "Hello World" web part demos you can now make use of VS 2005 Extensions for WSSv3 (http://weblogs.asp.net/jan/archive/2006/11/07/Seriously-Cool-Stuff_3A00_-Visual-Studio-2005-Extensions-for-WSS-v3.aspx). It includes a VS 2005 project template that gives you 'F5' deploy/debug functionality. (no more copying, xml editing etc). So you later at Tech Ed.

# re: C# Automatic Properties

Wednesday, November 08, 2006 2:42 AM by Bj&#248;rn Reppen

This is plain dumb in my eyes. Why have automatic get/set properties with no code in them? This is equivalent to simply having a public field.

# WCF: Building Secure, Reliable and Transacted Distributed Services

Wednesday, November 08, 2006 3:29 AM by B# .NET Blog

I just went to the session "Windows Communication Foundation: Building Secure , Reliable and Transacted

# re: C# Automatic Properties

Wednesday, November 08, 2006 6:13 AM by bart

Hi Björn,

I might have been a little to brief in my post on this feature, but it isn't dumb at all. The point is the C# compiler will automatically create a private variable for the time being. That is, you say you have the intent to create a property (not a public field), with all the advantages of it, but you don't want to do all the plumbing right now. Later on however, you can still change the thing to have a custom getter or setter. It all comes down to convenience. The prop code snippet in VS2005 is a valid alternative, but on another level.

Btw, this feature is *not* equivalent to having a public field, from metadata perspective for example.

If you have further questions, don't hesitate to contact me or leave a comment.

-Bart

# SQL Server 2005 Compact Edition RC1

Wednesday, November 08, 2006 12:49 PM by thirstycrow.net

Evidencing no particular skill, I stumbled upon this little nugget. Release candidate 1 of SQL Server

# Automatic Properties in C# 3.0 - Or so the rumor says!

TechEd Europe is on now and Anders Hejlsberg's talk shed light on some new features proposed for C#....

# Transaction Resources List

Wednesday, November 08, 2006 3:31 PM by Managed World - Jason Olson's Blog

# Managed World - Jason Olson's Blog - Transaction Resources List

Wednesday, November 08, 2006 3:31 PM by Managed World - Jason Olson's Blog - Transaction Resources List

# re: C# Automatic Properties

Wednesday, November 08, 2006 10:18 PM by Keith Hill

It is *far* from dumb. Some of the biggest complaints about languages like C# and Java versus Ruby/Python is what some have dubbed "line noise". That is, a bunch of extra tokens that aren't always really necessary. A good example of this is the "var" keyword in C# 3.0 that is used for type inference. Frankly I would like to be able to type less but still get compile-time type safety. BTW Bart is absolutely write this is far different from just having a public field. It gives you the ability to implement a more complicated property getter/setter in the future without breaking clients. How would you make a public field thread-safe at some point in the future? You can't. With a property, you could do that without breaking the client. This is also very consistent with the way the event keyword works. It generates a private field delegate and Add/Remove methods that you don't see unless you look at the type in Reflector or ILDASM. My only beef is with the syntax. I was hoping for syntax similar to the event syntax e.g.: class Foo { public property string Name; public readonly property int Id; ... } This would get me a future-proofed properties without having to type a lot of boring boiler plate code. And for those who say, well just just the "prop" template in VS 2005 - uh, I don't always write code in VS 2005. I have been known to write simple programs in notepad. :-)

# re: C# Automatic Properties

Wednesday, November 08, 2006 11:37 PM by Michal Talaga

Certainly this is a great feature, especially because mostly my properties are just plain get and set without logic. One problem is that now you cannot access the private field but then, why would you want to? Strange that I haven't heard about it before though.

# TechEd 2006 Developers - Day Four

Thursday, November 09, 2006 8:10 AM by B# .NET Blog

Damn God, what a busy day this was. Yesterday at our Belgian country party, organized together with Luxembourg

# TechEd 2006 Developers - Day Four

Thursday, November 09, 2006 8:10 AM by B# .NET Blog

Damn God, what a busy day this was. Yesterday at our Belgian country party, organized together with Luxembourg

# TechEd 2006 Developers - Day Four

Thursday, November 09, 2006 8:10 AM by B# .NET Blog

Damn God, what a busy day this was. Yesterday at our Belgian country party, organized together with Luxembourg

# re: TechEd 2006 Developers - Day Four

Thursday, November 09, 2006 8:45 AM by Tom Mertens

Congratulations! Great job...

# re: TechEd 2006 Developers - Day Four

Thursday, November 09, 2006 9:28 AM by David Boschmans

Congrats Bart! Well deserved :-) See you next year on stage at TechEd: Developers!

# TechEd 2006 Developers - Day Four

Thursday, November 09, 2006 10:05 AM by B# .NET Blog

Damn God, what a busy day this was. Yesterday at our Belgian country party, organized together with Luxembourg

# re: TechEd 2006 Developers - Day Four

Thursday, November 09, 2006 11:56 AM by Alex Thissen

Great going. Congratulations. Did you do presentations before your Speaker Idol appearance? If I'm at TechEd next year, I will definitely check out your session.

# Bart De Smet Is TechEd:Developers' Speaker Idol

Friday, November 10, 2006 2:28 AM by Tom's MSDN Belux Corner

The Speaker Idol community contest at TechEd:Developers has just finished. And the winner is... Bart

# re: TechEd 2006 Developers - The Last Day

Saturday, November 11, 2006 1:13 AM by /\/\o\/\/

Concratulations, on winning the Speaker Idols. Hope to see you on the IT Forum next week. Greetings /\/\o\/\/

# re: TechEd 2006 Developers - The Last Day

Saturday, November 11, 2006 11:59 AM by Joris

The URL to your interview on the Virtual Side is not correct - it is this one ... http://www.mseventseurope.com/TechEd/06/pre/live/VideoDev10.aspx?id=1#an1 Great job ...

# re: TechEd 2006 Developers - Day Four

Sunday, November 12, 2006 2:57 AM by Andre Obelink

As one of the judges of Speakers Idol I have to say: GREAT JOB! It was good to see that you are able to explain, code, fix bugs and still have contact with the audience. I'm more then happy to add you to the International Speakers Bureau of INETA Europe!

# How LINQ Works - IQueryable &laquo; The Wandering Glitch 2

Saturday, November 18, 2006 5:08 AM by How LINQ Works - IQueryable « The Wandering Glitch 2

# re: Quiz: Batch scripting mysteries

Monday, November 20, 2006 9:33 AM by Eber Irigoyen

something with the scope... I think Raymond talked about this once

# Bart de Smet writes a simple UrlRewriter to redirect requests

Wednesday, November 22, 2006 7:58 AM by Daily News Faq List

Bart de Smet writes a simple UrlRewriter to redirect requests of his recently relocated and url-modified

# Bart De Smet describes a positive migration experience of his Community Server 2.1 site to his new DiscountASP.NET host

Wednesday, November 22, 2006 8:00 AM by Daily News Faq List

Bart De Smet describes a positive migration experience of his Community Server 2.1 site to his new DiscountASP.NET

# re: Quiz: Batch scripting mysteries

Wednesday, November 22, 2006 9:26 AM by denis bider

The %x% is evaluated when the body of the for loop is read, not when it is executed. So it most likely prints something like "x1 a x2" 3 times the first time it's run, and "x1 c x2" on the second and subsequent runs.

# re: Member of the INETA Speakers Bureau

Wednesday, November 22, 2006 2:14 PM by GuntherB

Congratulations Bart! Well-deserved INETA Speaker engagement!!!

# Getting started with C# 3.0 Expression Trees

Wednesday, November 22, 2006 2:20 PM by B# .NET Blog

Somewhere in October this year, a series of three posts appeared online on this blog, covering "DynCalc"

# Getting started with C# 3.0 Expression Trees

Wednesday, November 22, 2006 2:20 PM by B# .NET Blog

Somewhere in October this year, a series of three posts appeared online on this blog, covering "DynCalc"

# Getting started with C# 3.0 Expression Trees

Wednesday, November 22, 2006 2:20 PM by B# .NET Blog

Somewhere in October this year, a series of three posts appeared online on this blog, covering "DynCalc"

# Getting started with C# 3.0 Expression Trees

Wednesday, November 22, 2006 2:29 PM by B# .NET Blog

Somewhere in October this year, a series of three posts appeared online on this blog, covering "DynCalc"

# DynCalc - Dynamic Compilation Illustrated - Part 4: C# 3.0 Expression Trees

Thursday, November 23, 2006 9:09 AM by B# .NET Blog

Introduction In the previous posts on DynCalc , we explored how to write a simple parser for simple calculations,

# DynCalc - Dynamic Compilation Illustrated - Part 4: C# 3.0 Expression Trees

Thursday, November 23, 2006 9:09 AM by B# .NET Blog

Introduction In the previous posts on DynCalc , we explored how to write a simple parser for simple calculations,

# DynCalc - Dynamic Compilation Illustrated - Part 4: C# 3.0 Expression Trees

Thursday, November 23, 2006 9:09 AM by B# .NET Blog

Introduction In the previous posts on DynCalc , we explored how to write a simple parser for simple calculations,

# links for 2006-11-23

Thursday, November 23, 2006 11:22 PM by Impersonation Failure

Automatic Properties - The Video New languages extension proposed for inclusing in C# 3.0. Automatic

# links for 2006-11-24

Friday, November 24, 2006 2:21 AM by Impersonation Failure

Symbian Developer Network - Developer Tools In addition to what is shipped on Symbian OS SDKs, there

# re: Channel 9 starring Anders Hejlsberg and Chris McConnell

Saturday, November 25, 2006 3:38 AM by Tommy Carlier

Channel 9 has a lot of great videos. Check out the other videos and screen casts about LINQ: http://channel9.msdn.com/Media/?TagID=58

# re: Channel 9 starring Anders Hejlsberg and Chris McConnell

Saturday, November 25, 2006 4:49 AM by Dimitri

I think it is 'intentional' programming and not 'international' programming... :P

# re: Channel 9 starring Anders Hejlsberg and Chris McConnell

Saturday, November 25, 2006 5:02 AM by bart

Absolutely right Dimitri, thanks for pointing me to this mistake. Speed's not the blogger's friend apparently.

# C# in Dutch (funny)

Saturday, November 25, 2006 7:02 AM by B# .NET Blog

From the code fragment below non-Dutch speaking readers can already predict what I&#39;m building for

# re: C# in Dutch (funny)

Saturday, November 25, 2006 2:52 PM by dotnetjunkie

Except that "onderkast" is a perfectly valid word! There was nothing wrong with that translation, it's the Dutch for "lower case"... But this "overbelaste methode" for "overloaded method", haha, how funny, good catch!

# re: C# in Dutch (funny)

Saturday, November 25, 2006 3:52 PM by bart

I know "lower case" and "onderkast" match, but if the translators have been translating "upper case" into "kapitaal" I'd think they had some notion of the context. Even more: "onderkast (n lettertekens)". I haven't seen an "under case" with n "letters" yet (maybe if n == 4, then the under case could come from IKEA).

-Bart

# re: C# in Dutch (funny)

Saturday, November 25, 2006 10:18 PM by Gabriel Lozano-Mor&#225;n

The compiler is telling you that you should really take a look at the method with its 27 paramaters :-)

# re: PowerShell - A cmdlet that reports progress - A simple file downloader cmdlet

Sunday, November 26, 2006 11:10 PM by dotnetjunkie

I think you should add transfer speed and estimated remaining time, that would make it even more useful and cooler ! ;)

# re: C# in Dutch (funny)

Monday, November 27, 2006 10:30 AM by Steven

Since a couple of weeks (I believe since installing Windows XP) I'm getting these Dutch error messages, but I don't think they are funny. They are quite unreadable. I've tried to reinstall the English version of the framework, but this has no effect. What must I do to get English error messages? Thanks in advance.

# Ultimate PowerShell presentation

Monday, November 27, 2006 1:10 PM by Bite my bytes

# Ultimate PowerShell presentation

Monday, November 27, 2006 1:11 PM by Bite my bytes

# Answers to quiz - Batch Scripting Mysteries

Monday, November 27, 2006 2:43 PM by B# .NET Blog

A few days ago, I posted this little quiz on batch scripting mysteries . The batch script given was:

# RBAC project&raquo; Blog Archive &raquo; Turning point in programming

Tuesday, November 28, 2006 12:01 PM by RBAC project» Blog Archive » Turning point in programming

# Pierres Service &raquo; Blog Archive &raquo; [UPDATE] PowerShell - A cmdlet that reports progress - A simple &#8230;

# Pierres Service &raquo; Blog Archive &raquo; [UPDATE] PowerShell - A cmdlet that reports progress - A simple &#8230;

# PowerShell - A file hasher cmdlet and the Extended Type System explained

Thursday, November 30, 2006 4:30 AM by B# .NET Blog

Introduction Today (11/29/06) I received a mail from one of my blog readers: Hi Bart, in the following

# re: PowerShell - A file hasher cmdlet and the Extended Type System explained

Thursday, November 30, 2006 5:07 AM by Thomas

THX, my missing link was .ToString("x2") here is a bread crumb to create .sha1 files in a directory ############################################################################################### # version of http://blogs.msdn.com/powershell/archive/2006/04/25/583225.aspx # # functions ############################################################################################### function getSHA1([System.IO.FileInfo] $file = $(throw 'Usage: getSHA1 [System.IO.FileInfo]')) { $stream = $null $hashAlgorithm = new-object System.Security.Cryptography.SHA1CryptoServiceProvider $stream = $file.OpenRead() $hashByteArray = $hashAlgorithm.ComputeHash($stream) $stream.Close() trap { if ($stream -ne $null) { $stream.Close() } break } foreach($hashItem in $hashByteArray){ $returnString += $hashItem.ToString("X2") } return $returnString } function createSHA1File([System.IO.FileInfo] $file = $(throw 'Usage: getSHA1 [System.IO.FileInfo]')) { getSHA1($file) > $("{0}.sha1"-f $file.fullname) } ############################################################################################### # script ############################################################################################### dir *.txt | foreach { createSHA1File $_ }

# The November 06 Month Report

Friday, December 01, 2006 4:06 AM by B# .NET Blog

Yet another great (well, at least in my opinion) month of Daily Blogging . Once more, feedback from readers

# The November 06 Month Report

Friday, December 01, 2006 4:06 AM by B# .NET Blog

Yet another great (well, at least in my opinion) month of Daily Blogging . Once more, feedback from readers

# The November 06 Month Report

Friday, December 01, 2006 4:06 AM by B# .NET Blog

Yet another great (well, at least in my opinion) month of Daily Blogging . Once more, feedback from readers

# The November 06 Month Report

Friday, December 01, 2006 4:06 AM by B# .NET Blog

Yet another great (well, at least in my opinion) month of Daily Blogging . Once more, feedback from readers

# The November 06 Month Report

Friday, December 01, 2006 4:06 AM by B# .NET Blog

Yet another great (well, at least in my opinion) month of Daily Blogging . Once more, feedback from readers

# The November 06 Month Report

Friday, December 01, 2006 4:06 AM by B# .NET Blog

Yet another great (well, at least in my opinion) month of Daily Blogging . Once more, feedback from readers

# The November 06 Month Report

Friday, December 01, 2006 4:06 AM by B# .NET Blog

Yet another great (well, at least in my opinion) month of Daily Blogging . Once more, feedback from readers

# The November 06 Month Report

Friday, December 01, 2006 4:06 AM by B# .NET Blog

Yet another great (well, at least in my opinion) month of Daily Blogging . Once more, feedback from readers

# re: Answers to quiz - Batch Scripting Mysteries

Saturday, December 02, 2006 12:33 PM by denis bider

If you want to get this working in cmd.exe without the workaround, run cmd with /v:on to enable delayed environment expansion, and use !x! instead of %x% in the body of the 'for'.

# links for 2006-12-04

Monday, December 04, 2006 2:21 AM by Impersonation Failure

PowerShell - Ask Merlin Nifty sample using COM objects from Powershell to create a PowerShell Assistant

# Wilm&#8217;s FuzzyLogic &raquo; Windows Vista Taskdialogs

Monday, December 04, 2006 7:37 AM by Wilm’s FuzzyLogic » Windows Vista Taskdialogs

# C# 3.0 Feature Focus - Part 4 - Extension Methods

Wednesday, December 06, 2006 1:24 PM by B# .NET Blog

Introduction In this C# 3.0 Feature Focus Week we'll focus on the new language features that will be

# C# 3.0 Feature Focus - Part 4 - Extension Methods

Wednesday, December 06, 2006 1:24 PM by B# .NET Blog

Introduction In this C# 3.0 Feature Focus Week we'll focus on the new language features that will be

# re: C# 3.0 Feature Focus - Part 1 - Local Type Inference

Wednesday, December 06, 2006 6:17 PM by Eber Irigoyen

I would say, fragment 1 doesn't work, the declaration needs to infer the type

# re: C# 3.0 Feature Focus - Part 4 - Extension Methods

Wednesday, December 06, 2006 8:41 PM by John Rusk

Bart, What do you think about the possible versioing problems with extension methods? I blogged about it here, http://dotnet.agilekiwi.com/blog/2006/04/extension-methods-problem.html . Everyone is is talking about segregating extension methods into their own namespaces, but I'm not sure that completely solves the problem.

# re: C# 3.0 Feature Focus - Part 1 - Local Type Inference

Thursday, December 07, 2006 2:37 AM by bart

Hi Eber,

That's correct: fragment 1 doesn't compile indeed. Notice you didn't say anything about the other fragments, so with ternary logic (yes/no/undecisive) your answer is correct. However, what about the other fragments?

-Bart

# Recipe: CF 2.0 and MSSQL Compact Edition 3.1 installations

Thursday, December 07, 2006 7:04 AM by Dan Miser

# "Exploring The IE7 RSS Platform In C#" Article Series

Saturday, December 09, 2006 5:08 AM by Tom's MSDN Belux Corner

Bart De Smet explores the IE7 RSS platform using C# in an article series on his blog: Exploring the IE7

# "Exploring The IE7 RSS Platform In C#" Article Series

Saturday, December 09, 2006 5:08 AM by Tom's MSDN Belux Corner

Bart De Smet explores the IE7 RSS platform using C# in an article series on his blog: Exploring the IE7

# "Exploring The IE7 RSS Platform In C#" Article Series

Saturday, December 09, 2006 5:08 AM by Tom's MSDN Belux Corner

Bart De Smet explores the IE7 RSS platform using C# in an article series on his blog: Exploring the IE7

# Bart De Smet explores the IE7 RSS platform using C#

Saturday, December 09, 2006 10:59 AM by .Net Adventures

Internet Explorer 7 introduces a unified approach to RSS. The good thing about it, is its availability

# Bart De Smet explores the IE7 RSS platform using C#

Saturday, December 09, 2006 10:59 AM by .Net Adventures

Internet Explorer 7 introduces a unified approach to RSS. The good thing about it, is its availability

# Bart De Smet explores the IE7 RSS platform using C#

Saturday, December 09, 2006 10:59 AM by .Net Adventures

Internet Explorer 7 introduces a unified approach to RSS. The good thing about it, is its availability

# Blog Clippings #4

Sunday, December 10, 2006 2:28 AM by Tech Talk Blog

Here they are: It looks like computers have finally got it over the humans with the defeat of Vladimir...

# Trois articles sur l'utilisation de la Windows RSS Platform en .NET

Sunday, December 10, 2006 5:15 AM by Christophe Lauer, Blog Edition

Bart de Smet, MVP de son état, publie sur son blog une série de trois articles expliquant comment utiliser

# Trois articles sur l'utilisation de la Windows RSS Platform en .NET

Sunday, December 10, 2006 5:15 AM by Christophe Lauer, Blog Edition

Bart de Smet, MVP de son état, publie sur son blog une série de trois articles expliquant comment utiliser

# Trois articles sur l'utilisation de la Windows RSS Platform en .NET

Sunday, December 10, 2006 5:15 AM by Christophe Lauer, Blog Edition

Bart de Smet, MVP de son état, publie sur son blog une série de trois articles expliquant comment utiliser

# > MSDN France - Christophe Lauer: Trois articles sur l'utilisation de la Windows RSS Platform en .NET

Sunday, December 10, 2006 7:00 AM by Prog

Bart de Smet, MVP de son état, publie sur son blog une série de trois articles expliquant comment utiliser

# > MSDN France - Christophe Lauer: Trois articles sur l'utilisation de la Windows RSS Platform en .NET

Sunday, December 10, 2006 7:00 AM by Prog

Bart de Smet, MVP de son état, publie sur son blog une série de trois articles expliquant comment utiliser

# > MSDN France - Christophe Lauer: Trois articles sur l'utilisation de la Windows RSS Platform en .NET

Sunday, December 10, 2006 7:00 AM by Prog

Bart de Smet, MVP de son état, publie sur son blog une série de trois articles expliquant comment utiliser

# Utilisation de la Windows RSS Platform en .NET

Sunday, December 10, 2006 7:09 AM by Blog::David

Bart vient de mettre en ligne trois articles expliquant comment depuis C# utiliser la Windows RSS Platform.

# Utilisation de la Windows RSS Platform en .NET

Sunday, December 10, 2006 7:09 AM by Blog::David

Bart vient de mettre en ligne trois articles expliquant comment depuis C# utiliser la Windows RSS Platform.

# Utilisation de la Windows RSS Platform en .NET

Sunday, December 10, 2006 7:09 AM by Blog::David

Bart vient de mettre en ligne trois articles expliquant comment depuis C# utiliser la Windows RSS Platform.

# Utilisation de la Windows RSS Platform en .NET

Sunday, December 10, 2006 7:12 AM by Blog::David

Bart vient de mettre en ligne trois articles expliquant comment depuis C# utiliser la Windows RSS Platform.

# > David Tavan: Utilisation de la Windows RSS Platform en .NET

Sunday, December 10, 2006 8:16 AM by Prog

Bart vient de mettre en ligne trois articles expliquant comment depuis C# utiliser la Windows RSS Platform.

# > David Tavan: Utilisation de la Windows RSS Platform en .NET

Sunday, December 10, 2006 8:16 AM by Prog

Bart vient de mettre en ligne trois articles expliquant comment depuis C# utiliser la Windows RSS Platform.

# > David Tavan: Utilisation de la Windows RSS Platform en .NET

Sunday, December 10, 2006 8:16 AM by Prog

Bart vient de mettre en ligne trois articles expliquant comment depuis C# utiliser la Windows RSS Platform.

# Trois articles sur l'utilisation de la Windows RSS Platform en .NET

Sunday, December 10, 2006 8:17 AM by Prog

Bart de Smet, MVP de son état, publie sur son blog une série de trois articles expliquant comment utiliser

# C# 3.0 Extension Method Versioning Troubles - Some thoughts and random ideas

Sunday, December 10, 2006 1:21 PM by B# .NET Blog

A few days ago I blogged about extension methods in C# 3.0 as a piece of glue to support LINQ ( although

# Sandcastle December 06 CTP

Sunday, December 10, 2006 1:25 PM by B# .NET Blog

I blogged about Sandcastle in the past, over here . You can grab the December 06 CTP from the Microsoft-website

# re: C# 3.0 Extension Method Versioning Troubles - Some thoughts and random ideas

Sunday, December 10, 2006 3:05 PM by John Rusk

Hi Bart, Good point about "my solution" looking a bit wierd. I do like the way it means that neither instance nor extension methods have precedence by default, but rather that if there is a conflict the user will be called on to resolve it. Also, if there is intentional implementation of an instance method to take precendence over an extension method (e.g. a LINQ method is implemented as an instance method for some type which needs special handling) then the instance method will be automatically, and _safely_ chosen by the compiler. I think this is important, in any solution to these issues. (See http://dotnet.agilekiwi.com/blog/2006/04/extension-methods-more-than-sugar.html for the pattern which I think the LINQ team wants to support for LINQ methods) I'll re-read the rest of your post again in a couple of days, when I have more time... Regards, John

# re: C# 3.0 Extension Method Versioning Troubles - Some thoughts and random ideas

Sunday, December 10, 2006 9:28 PM by bart

Hi John,

You're absolutely right about the possibility to have an intentional instance method precedence for LINQ stuff. For the moment a happy marriage between the mentioned problems and all the problem constraints seems a bit unlikely; changing it one way or another causes other "parties" to be unhappy. Whenever I have some free time left, I'll think further about possible implications.

-Bart

# [DevITProDays 2007] "Satisfy your technical curiosity" : 28 et 29 Mars - Bloquez vos agendas !!!

Tuesday, December 12, 2006 12:27 AM by RedoBlog - The .NET Gentleman !!!

Souvenez-vous l'année dernière avait lieu à Ghent (Gand) les DevITProDays 2006 . Nous voici maintenant

# Developer & IT Pro Days 2007 - March 28-29, 2007 in Gent

Tuesday, December 12, 2006 12:58 AM by Gabriel Lozano-Morán - The .NET Aficionado

The next Developer &amp; IT Pro Days 2007 will be held the 28th and 29th March at the International Convention

# WinSAT from C#

Tuesday, December 12, 2006 7:50 AM by Daniel Moth

WinSAT from C#

# C# 3.0 Feature Focus - Part 4 - Extension Methods

Wednesday, December 13, 2006 6:01 AM by B# .NET Blog

Introduction In this C# 3.0 Feature Focus Week we&#39;ll focus on the new language features that will

# C# 3.0 Feature Focus - Part 4 - Extension Methods

Wednesday, December 13, 2006 6:01 AM by B# .NET Blog

Introduction In this C# 3.0 Feature Focus Week we&#39;ll focus on the new language features that will

# DynCalc - Dynamic compilation illustrated - Part 1: Infix to postfix

Wednesday, December 13, 2006 6:19 AM by B# .NET Blog

Introduction A few days ago I blogged about dynamic languages and Lightweight Code Generation in .NET

# Reset the password of a SQL Server account programmatically - SecureString real world demo

Wednesday, December 13, 2006 6:36 AM by B# .NET Blog

Simple question today: &quot;How to change the password of a SQL Server account programmatically using

# Leveraging Windows Vista's Windows System Assessment Tool (WinSAT) API in Visual Basic

Wednesday, December 13, 2006 11:54 AM by AddressOf.com

Introduction There are a lot of new features in Windows Vista. In this installment, we&rsquo;ll explore

# Leveraging Windows Vista's Windows System Assessment Tool (WinSAT) API in Visual Basic

Wednesday, December 13, 2006 12:09 PM by AddressOf.com

A couple of days ago a noticed this article, downloaded the code, thought about it for a bit and realized

# Windows Vista - Exploring the Windows System Assessment Tool (WinSAT) API in C# (some reactions)

Wednesday, December 13, 2006 2:59 PM by B# .NET Blog

Yesterday I published a blog post about the WinSAT API in Windows Vista . It's always great to see others

# Windows Vista - Exploring the Windows System Assessment Tool (WinSAT) API in C# (some reactions)

Wednesday, December 13, 2006 2:59 PM by B# .NET Blog

Yesterday I published a blog post about the WinSAT API in Windows Vista . It's always great to see others

# re: Windows Vista - Exploring the Windows System Assessment Tool (WinSAT) API in C# (some reactions)

Thursday, December 14, 2006 7:49 AM by Greg Duncan

I read your original article when first posted and then the AddressOf one today... It's tone put me off a little, but IMHO I think it was unintentional. It's a classic "can't read/see body language or emotional queues so the text comes across a little harsher than intended" thing. I am glad you responded professionally to the points, sticking to the technical issues and discussing you thought process (no one likes flame wars... cause no one wins and we all lose) In any case, one of the harder things in coding (for me at least) is not knowing what I don't know. Your code samples, projects and posts provide a great road map to those of us who are trying to discover what is yet unknown to us. And of course you can't be everything to everyone, nor should you try. You can only do what you can do. And what you do is a great deal... All I'm trying to say is you rock. And what you do and post is appreciated. And to thank you... Take care, Greg

# User Access Control Elevation in Vista

Thursday, December 14, 2006 10:10 PM by Infosys | Microsoft

I recently came across this nice article on how to get the UAC elevation request working for our own applications in Vista. There are however one or two additional observations that I wanted to capture. First is that the behavior is...

# Windows Vista - Registry programming tip: RegDeleteTree

Saturday, December 16, 2006 4:56 AM by DotNetKicks.com

You've been kicked (a good thing) - Trackback from DotNetKicks.com

# Windows Vista - Introducing TxR in C# (Part 2)

Saturday, December 16, 2006 3:05 PM by B# .NET Blog

Due to the availability of Windows Vista RTM at the time of this post's publication, the content will

# Add a manifest file to a c# project.

Thursday, December 21, 2006 8:38 PM by James Geurts' Blog

I came across a nice article describing how to add a manifest file to a c# project. You'll probably run

# Windows Vista - Introducing TxR in C# (Part 1)

Friday, December 22, 2006 3:38 AM by B# .NET Blog

Introduction Last month I blogged about TxF in Windows Vista and how to use it from your own application

# Windows Vista - Introducing TxR in C# (Part 1)

Friday, December 22, 2006 3:38 AM by B# .NET Blog

Introduction Last month I blogged about TxF in Windows Vista and how to use it from your own application

# TAOCP Volume 4 - Bits and bools sneak preview

Friday, December 22, 2006 7:12 PM by B# .NET Blog

Readers of my blog do know my personal interest in this master piece of Donald Knuth (shame of you if

# Windows Vista Application Recovery on MSDN (woohoo)

Thursday, December 28, 2006 6:03 AM by B# .NET Blog

I couldn't believe my own eyes when reviewing the blog stats of yesterday: a 90% overall increase in

# re: Windows Vista Application Recovery on MSDN (woohoo)

Thursday, December 28, 2006 6:45 AM by name

I'm sure the job offer will be in the mail any day soon....

# re: Windows Vista Application Recovery on MSDN (woohoo)

Friday, December 29, 2006 12:54 AM by Mikael S&#246;derstr&#246;m

You are worth it. :-)

# re: Windows Vista Application Recovery on MSDN (woohoo)

Friday, December 29, 2006 3:37 AM by M&#225;rcio Duarte

In your last post you put some code samples, but it not works for me. I found the solution for the error in http://www.danielmoth.com/Blog/2006/08/vista-registerapplicationrecoverycallb.html The error was in the declaration of the RegisterApplicationRecoveryCallback function and in its subsequent use. After fix of this, was wonder to see this API working. Really very useful and expands my horizon in a lot of thousand of miles away... hehehe Thanks

# Getting Started with SQL Compact Edition (Formerly “SQL Everywhere")

Monday, January 01, 2007 8:38 AM by Guy Burstein's Blog

I have recently joined with a project that looks for a In-Memory Database for client-side caching solution.

# re: C# Quiz - Field initialization

Wednesday, January 03, 2007 4:21 AM by Ramon

The data member i is initialized twice? First with the default 0 and then with 123?

# re: C# Quiz - Field initialization

Wednesday, January 03, 2007 4:35 AM by Ramon

My previous comment isn't true. Just checked the IL: .method public hidebysig specialname rtspecialname instance void .ctor() cil managed { // Code size 15 (0xf) .maxstack 8 IL_0000: ldarg.0 IL_0001: ldc.i4.s 123 IL_0003: stfld int32 A::i IL_0008: ldarg.0 IL_0009: call instance void [mscorlib]System.Object::.ctor() IL_000e: ret } // end of method A::.ctor .method private hidebysig specialname rtspecialname instance void .ctor() cil managed { // Code size 15 (0xf) .maxstack 8 IL_0000: ldarg.0 IL_0001: call instance void [mscorlib]System.Object::.ctor() IL_0006: ldarg.0 IL_0007: ldc.i4.s 123 IL_0009: stfld int32 B::i IL_000e: ret } // end of method B::.ctor The only difference I see is that i is initialized before or after calling the base class constructor which is quite logical.

# re: C# Quiz - Field initialization

Wednesday, January 03, 2007 6:43 AM by Bassam Basamad

Hi Mr Bart, I think the first it will give default value as 123 and the second will give default value as 0 in (Class Scope). i mean when make new object from the class as asuming that the varible is publica not private so when i access the value it will be deffiernet for two conditions. and this means that the first way, is not good that it will load all the variable values, and i think when you load less values is better. this is my opinion.. thanks. hope this true.

# re: C# Quiz - Field initialization

Wednesday, January 03, 2007 10:01 AM by Kris

The static initializer (cctor) for the first code sample assigns the member variable prior to the default constructor call. The second sample assigns the member variable withing the (ctor).

# re: C# Quiz - Field initialization

Wednesday, January 03, 2007 12:15 PM by zproxy

Ramon is right:) The only difference is that the field initializer has no access to this variable.

# Windows Vista UAC - Further Reading

Thursday, January 04, 2007 2:40 PM by Software/Technology Discussion

Then and Now Microsoft Windows XP™ initially creates all user accounts as local administrators. Administrators

# re: C# Quiz - Field initialization (cont'd)

Thursday, January 04, 2007 3:00 PM by Eber Irigoyen

0 123 Bar1 initialization of i happens until after the base constructor is called Bar2 initializes it before the constructor is called

# re: C# Quiz - Field initialization (cont'd)

Friday, January 05, 2007 1:17 AM by Ramon Smits / Exyll

Nice way of showing the behavior of yesterdays example :). Eber his solution is correct AFAIK.

# Windows Vista e la tecnologia ReadyBoost

Saturday, January 06, 2007 10:46 AM by Around and About .NET World

# Answers to C# Quiz - Field initialization

Monday, January 08, 2007 1:20 PM by B# .NET Blog

A few days ago I posted the following two posts for this C# Quiz: C# Quiz - Field initialization C# Quiz

# Answers to C# Quiz - Field initialization

Monday, January 08, 2007 1:20 PM by B# .NET Blog

A few days ago I posted the following two posts for this C# Quiz: C# Quiz - Field initialization C# Quiz

# Crash, Recovery, Restart -> Usar la recovery API de Vista

Tuesday, January 09, 2007 11:30 AM by Blog de todos

Revisen este articulo de como usar la Recovery API de Vista, como bien dice ahi, las aplicaciones se

# re: Answers to C# Quiz - Field initialization

Thursday, January 11, 2007 12:57 AM by Frederik

This also shows that calling virtual methods in a constructor can lead to unexpected results. So, unless you really know what you're doing, and have a reason to do it, you should never call a virtual method from inside a constructor. (When you analyze an assembly with FxCop, FxCop will also report this if you do so).

# re: Unzipping in ASP.NET

Sunday, January 14, 2007 7:43 AM by dotnetjunkie

Ugh, I'd rather write my own unzip library in c# than having to resort to Java :-)

But luckily there is no need to do that!

There is this wonderful, free and open source library from the same guys who wrote SharpDevelop: #ziplib!  So yes, it's all in your beloved c#! ;-)

Quote from their website:

#ziplib (SharpZipLib, formerly NZipLib) is a Zip, GZip, Tar and BZip2 library written entirely in C# for the .NET platform. The creator of #ziplib put it this way: "I've ported the zip library over to C# because I needed gzip/zip compression and I didn't want to use libzip.dll or something like this. I want all in pure C#.

Download link: http://www.icsharpcode.net/OpenSource/SharpZipLib/Default.aspx

Have fun!

# re: I've been tagged

Sunday, January 14, 2007 8:05 AM by dotnetjunkie

This is really freaky, apart from being born on the 17th of January, these exact first 4 items could have come from me!

Maybe it's a virus secretly spreading through the .net framework? ;-)

Only the 5th doesn't apply to me, 'cause I do have a driver's license...

P.S. What did you think of Ronnie O'Sullivan's walkout in his latest quarter final match against Stephen Hendry?  I've always liked watching the rocket play, but now that was truly a big disappointment... Luckily he apologized and said he will be back better than ever :-)

# re: Unzipping in ASP.NET

Monday, January 15, 2007 3:36 AM by Kai

Why you dont't use the great .NET ZipLib from http://www.icsharpcode.net/OpenSource/SharpZipLib/

# re: I've been tagged

Monday, January 15, 2007 4:28 AM by bart

Hi dotnetjunkie,

It might be an interesting academic research topic to find (dis)similarities between .NET freaks :-).

What the rocket is concerned, we haven't seen the last of him I guess. Full of surprises as always, sometimes disappointing, sometimes not. I was watching the match Hendry-O'Sullivan too at that very moment and I share your feeling.

-Bart

# re: Unzipping in ASP.NET

Monday, January 15, 2007 4:32 AM by bart

Hi folks,

I should have know there are ".NET libraries" for zip functionality too, but honestly I didn't even search for it as I knew it was in the java.util.zip namespace, which happens to be one of the implemented namespaces in Microsoft's J#. So, it's still 100% .NET although the idea is expressed in just another language. That's what *Common* Language stands for in CLI/CLR.

-Bart

# Preparing for Vista Backup and Restore - Part 2

Monday, January 15, 2007 11:58 AM by Building Better Software - One Line At A Time

Happy New Year! Last time we finished with using CompletePC to backup the OS partitions/drives as well

# Come elevare i privilegi di un'applicazione .NET

Monday, January 22, 2007 2:54 AM by Around and About .NET World

# Come elevare i privilegi di un'applicazione .NET

Monday, January 22, 2007 2:54 AM by Around and About .NET World

# Dog Training &raquo; Blog Archive &raquo; Messenger By the Millions

Friday, January 26, 2007 9:51 PM by Dog Training » Blog Archive » Messenger By the Millions

# Your first Windows Live Messenger Add-In

Monday, January 29, 2007 4:21 AM by Stray Thoughts

Here is an excellent tutorial called "Your first Windows Live Messenger Add-In" written by MVP Visual

# The Capslock Assassin &raquo; Blog Archive &raquo; Modifying RIS Images For Smaller Hard Disks

# re: A first introduction to Windows PowerShell runspaces

Wednesday, February 07, 2007 2:09 AM by Lex

Very cool nice and simple example, I've been looking at the hosting of runspaces and it seems relatively straight forward - with the possible exception of ensuring you grant the correct privileges.

Do you mention the MMC 3.0 runs on top of a powershell runspace but I see no evidence of that (in fact the only change I could see is the action panel).

I know that there was the original intention to be able to do actions in the GUI and save out scripts - did that actually happen I haven't spotted any documentation on MSDN.

# re: A first introduction to Windows PowerShell runspaces

Sunday, February 11, 2007 5:46 AM by bart

Hi Lex,

Basically what I meant is that MMC 3.0 snap-ins can act as a layer on top of PowerShell cmdlets and providers, which is what happens in Exchange 2007. However, MMC 3.0 itself isn't dependent on PowerShell - it's just that you *can* do it (which is the vision towards the future to have more and more products and technologies follow this approach to increase scriptability).

-Bart

# IIS7: The web server for Windows Vista and Beyond

Thursday, February 15, 2007 12:01 AM by David Boschmans Weblog

While working on the agenda for the developer sessions at Dev &amp; IT-Pro Days 2007 , I had some trouble

# IIS7: The web server for Windows Vista and Beyond

Thursday, February 15, 2007 12:01 AM by David Boschmans Weblog

While working on the agenda for the developer sessions at Dev &amp; IT-Pro Days 2007 , I had some trouble

# IIS7: The web server for Windows Vista and Beyond &raquo; D&#8217; Technology Weblog &mdash; Technology, Blogging, Gadgets, Fashion, Life Style.

# IIS7: The web server for Windows Vista and Beyond &raquo; D&#8217; Technology Weblog &mdash; Technology, Blogging, Gadgets, Fashion, Life Style.

# re: C# Quiz - "Something weird"

Saturday, February 17, 2007 7:58 AM by Jack

The C# compiler must be a heap of junk to compile the statement.

# re: C# Quiz - "Something weird"

Saturday, February 17, 2007 8:14 AM by Patrik Löwendahl

Hehe, nasty little thing you caught there. At least your console application won't go away before you can read the result of the screen :P

# re: C# Quiz - "Something weird"

Saturday, February 17, 2007 8:43 AM by bart

Hi Jack,

*The* statement? Which one? The noise in the sample has all to do with spacing and C# happens to be one of these languages that doesn't care about spacing (like other C-derivates).

A first sight, when you see it, you might think of a compiler bug but everything that's going on in here is perfectly normal.

-Bart

# re: C# Quiz - "Something weird"

Saturday, February 17, 2007 9:17 AM by Eber Irigoyen

looks like an optical illusion

this is one loop

for (i = 0; i < 100; i++)

7       {

8          System.Console.Write('.');

9       }

this is another

while (i <= 100);

should output 100 dots...

# re: C# Quiz - "Something weird"

Saturday, February 17, 2007 2:20 PM by Sadek Drobi

i dont see what so wired about it, and why jack is so angry about the compiler!

# re: C# Quiz - "Something weird"

Saturday, February 17, 2007 3:30 PM by Michael Lapinsky

This is a good argument as to why, unless it's needed outside of the for-loop, you make your loop variable(s) local to the for-loop by default when using one.

# re: C# Quiz - "Something weird"

Sunday, February 18, 2007 12:34 AM by Tom

you should get 100 dots and an infinite Loop...

Not...? :)

# re: Visual Studio tip - select a rectangular block of code

Sunday, February 18, 2007 12:43 AM by timvw

I found out about that (and other tricks) in a nice, free e-book: http://www.infoq.com/minibooks/vsnettt

# re: C# Quiz - "Something weird"

Sunday, February 18, 2007 4:00 AM by Christophe Lambrechts

Eum, if I run the program its hangs after the 100th dot. If you make the while les as 100, 10 for example. You get 100 dots and an ending program. Never seen this kind of constructions, is there more of this stuff?

# re: Visual Studio tip - select a rectangular block of code

Sunday, February 18, 2007 4:25 AM by bart

Thanks for pointing us to this book, Tim!

# re: Visual Studio tip - select a rectangular block of code

Sunday, February 18, 2007 8:20 AM by Eric

Allright, cool tip ... didn't know this feature was in Visual Studio. Just tested it to be sure ... and it also works with Visual C# Express!

# re: Inlining - yes, it happens

Monday, February 19, 2007 1:54 AM by Mitch Wheat

Hi Bart

The choice of pivot is important, because if the data is already ordered, the vanilla quicksort algorithm exhibits its pathological behaviour of O(N^2).  I don'y know what the framework uses under the covers (I'd be interested to know...) but it's hard to beat Sedgewick's Median of three (i.e pivot) with insertion sorting of small subsets for a general purpose sort.

# re: Inlining - yes, it happens

Monday, February 19, 2007 4:18 AM by bart

Hi Mitch,

I like the dynamism on my blog lately. As you pointed out, the choice of the pivot element (hence the variable name 'p') is important for (almost-)ordered inputs.

The framework uses a quicksort algorithm for Array.Sort with the median-of-3 algorithm to find the pivot value (static private method GetPivotValue in Array). You can inspect the sources in the SSCLI distribution if you want.

-Bart

# re: Answers to C# Quiz - "Something weird"

Monday, February 19, 2007 2:10 PM by Sadek Drobi

good warning for the one ";"

thats what i like about c# that it is explicit, but i didnt get the semicolon after the bracket of the end of for loop.

still no weired compiler behaviour, it is as u mentioned an optical illusion! :)

# re: SQL Server 2005 SP2 - Error 29528 - KB925976

Monday, February 19, 2007 11:29 PM by Koen

I read the new features list but none of them could really amuse me. Can you tell me what your favorite features are in SP2?

# re: SQL Server 2005 SP2 - Error 29528 - KB925976

Tuesday, February 20, 2007 4:17 AM by bart

Hi Koen, My favorite features in SP2? Here we go: 1. vardecimal type 2. 2007 Office System support for Analysis Services & WSS 3.0 support for Reporting Services 3. improved performance due to improved plan caching and mem usage 4. lots of small improvements that will make life easier For a full list, see http://download.microsoft.com/download/2/b/5/2b5e5d37-9b17-423d-bc8f-b11ecd4195b4/WhatsNewSQL2005SP2.htm - Notice there are quite some SQL Server areas I don't really focus on, such as Integration Services, to have a good clue about the major improvements on all fields (pillars). Beside of this, SP2 continues the effort to bring more power to Express users as well. And not to forget, each SP is a milestone in a product's overall stability and contains lots of bugfixes that will make the product more solid. Maybe the distinction between a SP and a FP (feature pack) has somewhat blurred over the years (although - undoubtly - great marketing-oriented descriptions exist for both concepts) but SPs are a must-install after all. -Bart

# re: SQL Server 2005 SP2 - Error 29528 - KB925976

Tuesday, February 20, 2007 4:33 AM by bart

Hi Koen,

My favorite features? A little list:

1. vardecimal type

2. performance improvements

3. 2007 Office and WSS 3.0 support for AS and RS

Notice I'm not a BI expert so there are likely much more attractive top features in SP2 for the BI folks out there. Beside of this there are lots of small improvements that make life easier.

For Express users, this SP continues to add functionality to the product that was otherwise only available for Standard/Enterprise users.

One important remark though is that we're talking about a service pack, which should be installed anyway to help overall system reliability and stability. Each SP is a huge milestone towards a better product. I agree that the distinction between service packs and features packs has somewhat blurred over time but SPs remain in the "must install" camp.

-Bart

# re: Team Foundation Server and fully qualified domain names

Tuesday, February 20, 2007 5:44 AM by Fredrik

We use the VPN solution, and it works like a charm :)

# Il Restart Manager di Windows Vista

Tuesday, February 20, 2007 3:20 PM by Around and About .NET World

# re: C# Quiz - "Something weird"

Wednesday, February 21, 2007 2:11 AM by Shail

It shud be 100 dots... that's it as while will satisfy the conditiona and simply exit the program.

# Kna??a emu??ri &raquo; Blog Archive &raquo; Da????di linki

Thursday, February 22, 2007 3:36 AM by Kna??a emu??ri » Blog Archive » Da????di linki

# Article Feed &raquo; Windows Vista - Introducing TxF in C# (part 3 &#8230;

# Syntax Consistency among Class Members (Events, Properties, and Methods) &laquo; Joshua Mouch

# Bar Restaurant &raquo; Workflow - Talking about Local Communication Services synchronization

# re: System.Numeric.BigInteger

Sunday, February 25, 2007 11:26 AM by Tom

> question: would uint or ulong bring us any further?

No, 21! needs 66Bits and  13! 33 Bits... so unisigned won't help much

(not testet, but there was this tiny calculator on my desk...)

;)

Thomas

# re: Virtual vs. non-virtual method calls from a perf perspective

Tuesday, February 27, 2007 3:44 AM by joon

Hey Bart, I'm a reader of your blog, but not a highly skilled technical mind. I encountered something strange while running your code.

Run With Debugging:

00:00:15.2517222 (non virtual)

00:00:14.5449290 (virtual)

Run Without Debugging

00:00:08.2957208 (non virtual)

00:00:08.2798889 (virtual)

I know there is a difference between projects that are built for debug, or built for release. Is this related to this performance difference? And to be honest I was surprised. At first I thought there would be a bigger difference, but afterwards I just thought that virtual would be slower and hence MS' decision to not make all methods virtual by default. Care to enlighten me? ;)

# re: Virtual vs. non-virtual method calls from a perf perspective

Tuesday, February 27, 2007 4:39 AM by bart

Hi Joon,

This is pretty strange; indeed, there should be a difference between debug and release; in debug build the figures can be almost the same, but in release build you should observe a difference. Can you check you've built with Release build configuration enabled (assuming you're using Visual Studio)? At the command-line, use the following compilations for comparison:

csc /debug+ virt.cs

csc virt.cs

csc /o virt.cs

You should be able to conclude that virtual is slower indeed. Have fun (a follow-up post will be published later this week - check out the quiz of today as well)!

-Bart

# re: C# Quiz - call versus callvirt

Tuesday, February 27, 2007 9:27 AM by Omari

non-virtual call for  Do will emit jit compiller.

advantage that  "this" will be tested for null

# re: C# Quiz - call versus callvirt

Tuesday, February 27, 2007 12:35 PM by Armand du Plessis

The C# compiler will emit a call instruction for static methods and in cases where a virtual method needs to be invoked non-virtually as in the snippet below and in other scenarios it would emit callvirt.

This is to ensure the the receiver is not null and this check is generated by the JIT compiler when using the callvirt instruction. (But Jitted code will still call a non-virtual method directly)

public class D : C

{

  public override void DoIt() {

       base.DoIt(); // Compiler will emit call to invoke DoIt on C non-virtually.

 }

}

When using call the following would still be valid and won't generate NullReferenceException provided Do doesn't reference any instance members of C:

C c = null;

c.Do();

# re: C# Quiz - Need for speed

Wednesday, February 28, 2007 12:15 AM by Knaģis

Currently I have optimized to work 4x faster. Seems the most time consuming thing about the algorithm is to use indexer (and public properties). If I change those to just the private members, works much faster.

# re: C# Quiz - Need for speed

Wednesday, February 28, 2007 12:21 AM by Peter Petrov

Without changing the algorithm(using the naive) only perform some very simple optimization - avoid the method calls to GetLength and the method is 28% faster :)

<pre><code>

           public static Matrix operator *(Matrix m1, Matrix m2)

           {

               int w1 = m1.Width;

               if (w1 != m2.Height)

                   throw new InvalidOperationException("Matrices should have compatible dimensions for multiplication.");

               int h = m1.Height;

               int w = m2.Width;

               Matrix m = new Matrix(h, w);

               for (int i = 0; i < h; i++)

               {

                   for (int j = 0; j < w; j++)

                   {

                       for (int k = 0; k < w1; k++)

                           m[i, j] += m1[i, k] * m2[k, j];

                   }

               }

               return m;

           }

</code></pre>

# re: C# Quiz - Need for speed

Wednesday, February 28, 2007 12:50 AM by Knaģis

OK, enough for today. My result is 6.4 times faster (or 7.6 times faster if I use a struct instead of class - but that requires changing one line in Program::Main). The biggest suprise was that [,] is a lot slower than [][]...

# re: C# Quiz - Need for speed

Wednesday, February 28, 2007 2:27 AM by Peter Petrov

My best result is 7.2 faster :) Hee is the code.

           private double[][] m;

           public Matrix(int dim0, int dim1)

           {

               m = new double[dim0][];

               for (int i = 0; i < m.Length; i++)

               {

                   m[i] = new double[dim1];

               }

           }

           public int Height { get { return m.Length; } }

           public int Width { get { return m[0].Length; } }

           public double this[int x, int y]

           {

               get { return m[x][y]; }

               set { m[x][y] = value; }

           }

           public static Matrix operator *(Matrix m1, Matrix m2)

           {

               int w1 = m1.Width;

               if (w1 != m2.Height)

                   throw new InvalidOperationException("Matrices should have compatible dimensions for multiplication.");

               int h = m1.Height;

               int w = m2.Width;

               Matrix m = new Matrix(h, w);

               for (int i = 0; i < h; i++)

               {

                   for (int j = 0; j < w; j++)

                   {

                       for (int k = 0; k < w1; k++)

                           m.m[i][j] += m1.m[i][k] * m2.m[k][j];

                   }

               }

               return m;

           }

# re: C# Quiz - Need for speed

Wednesday, February 28, 2007 2:41 AM by Peter Petrov

My previous method can be optimized even a little more - by not removing the initialization of the elements to zero. That's my biggest surprise because it is guarantied that the elements of the array are initialized to zero so the initialization m.m[i][j] = 0; is not need it but the method performs faster with the initialization. I'm really confused.

Total boost = x7.5

# Bock auf einen eigenen Webserver?

Wednesday, February 28, 2007 8:09 AM by TheUndeadable entwickelt

Ein Zwanzigzeiler reicht: http.sys macht's möglich.

# Bock auf einen eigenen Webserver?

Wednesday, February 28, 2007 8:09 AM by TheUndeadable entwickelt

Ein Zwanzigzeiler reicht: http.sys macht's möglich.

# C# 2.0 iterators revisited - The Pascal triangle

Wednesday, February 28, 2007 11:09 AM by B# .NET Blog

Last week, I introduced C# 2.0 to a few academic people who had prior exposure to C, C++ and Java. Does

# re: C# Quiz - Need for speed

Wednesday, February 28, 2007 2:08 PM by c

I can improve the test's running time by a factor of more than 200.

class Matrix

{

   protected double[,] m;

   public Matrix(int height, int width)

   {

       m = new double[height, width];

   }

   public int Height { get { return m.GetLength(0); } }

   public int Width { get { return m.GetLength(1); } }

   public virtual double this[int x, int y]

   {

       get { return m[x, y]; }

       set { m[x, y] = value; }

   }

   public static Matrix operator *(Matrix left, Matrix right)

   {

       return new ProductMatrix(left, right);

   }

}

class ProductMatrix : Matrix

{

   protected Matrix left;

   protected Matrix right;

   protected bool[,] m_calculated;

   public ProductMatrix(Matrix left, Matrix right)

       : base(left.Height, right.Width)

   {

       if (left.Width != right.Height)

           throw new InvalidOperationException("Matrices should have compatible dimensions for multiplication.");

       this.left = left;

       this.right = right;

   }

   public override double this[int x, int y]

   {

       get

       {

           if (m_calculated == null)

           {

               m_calculated = new bool[left.Height, right.Width];

           }

           if (!m_calculated[x, y])

           {

               m[x, y] = 0;

               for (int k = 0; k < left.Width; ++k)

                   m[x, y] += left[x, k] * right[k, y];

               m_calculated[x, y] = true;

           }

           return m[x, y];

       }

       set

       {

           if (m_calculated == null)

           {

               m_calculated = new bool[left.Height, right.Width];

           }

           m_calculated[x, y] = true;

           m[x, y] = value;

       }

   }

}

# re: C# Quiz - Need for speed

Wednesday, February 28, 2007 8:29 PM by Mitch Wheat

I don’t know how you guys are ‘picking’ your timing results.

I compiled as release with VS2005 SP1, with an unchanged program main method (NOTE: not sure if  or how that differs from csc /o) and ran exe from command line

I ran 10 x 10000 loops and averaged (to try to reduce fluxations idue to OS) to get  1.0146ms per matrix multiplication for the original code as published.

Peter Petrov’s published code (in comments)  resulted in 0.2738ms per matrix multiplication which represents a speedup of 3.7 times over original.

There are two improvements you can make to reduce the time further:

First you should use a temp variable in the inner loop summation.

Second you can shave off a few microseconds by running the inner loop backwards (this is a ‘trick’ from my C days. The complier can issue a simpler check against zero (can XOR register or stack value to zero with itself rather than loading a literal)

       public static Matrix operator *(Matrix a, Matrix b)

       {

           int p = a.Width;

           if (p != b.Height)

               throw new InvalidOperationException("Matrices should have compatible dimensions for multiplication.");

           int h = a.Height;

           int w = b.Width;

           Matrix c = new Matrix(h, w);

           double tmp;

           for (int i = 0; i < h; i++)

           {

               for (int j = 0; j < w; j++)

               {

                   tmp = 0.0;

                   for (int k = p - 1; k >= 0; k--)

                   {

                       tmp += a.m[i][k] * b.m[k][j];

                   }

                   c.m[i][j] = tmp;

               }

           }

           return c;

       }

This results in 0.1287 ms per matrix multiplication. (7.88 times as fast) (modifications made to Peter’s published code)

I also implemented Winograd’s algorithm (reduces multiplications while increasing additions) but you need the matrices to be very large before any speedup is realised (n > 100).

Using structs would possibly also be an idea (as Knaģis mentioned)

# re: C# Quiz - Need for speed

Thursday, March 01, 2007 3:08 AM by bart

Hi Mitch,

A release build and csc /o are roughly the same due to the build config in the .csproj file:

 <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">

   <DebugType>pdbonly</DebugType>

   <Optimize>true</Optimize>

   <OutputPath>bin\Release\</OutputPath>

   <DefineConstants>TRACE</DefineConstants>

   <ErrorReport>prompt</ErrorReport>

   <WarningLevel>4</WarningLevel>

 </PropertyGroup>

the <Optimize> portion maps to the /o compiler switch. Take a look at the %windir%\Microsoft.NET\Framework\v2.0.50727\Microsoft.CSharp.targets file to see this mapping.

-Bart

# New and Notable 147

Friday, March 02, 2007 11:57 AM by Sam Gentile

Harry wonders if it has been a slow week. It started that way for me but its certainly not now with both

# The Roadshow has Begun!

Saturday, March 03, 2007 8:39 AM by Chris Bowen's Blog

We'd like to extend a big thank you to everyone who attended the first two stops of Bob &amp; Chris'

# The Roadshow has Begun!

Saturday, March 03, 2007 8:39 AM by Chris Bowen's Blog

We'd like to extend a big thank you to everyone who attended the first two stops of Bob &amp; Chris'

# The Roadshow Has Begun!

Saturday, March 03, 2007 8:43 AM by RSS It All

We&#39;d like to extend a big thank you to everyone who attended the first two stops of Bob &amp; Chris&#39;

# The Roadshow Has Begun!

Saturday, March 03, 2007 8:43 AM by RSS It All

We&#39;d like to extend a big thank you to everyone who attended the first two stops of Bob &amp; Chris&#39;

# C# 3.0 Automatic Properties explained

Saturday, March 03, 2007 2:34 PM by B# .NET Blog

A few months ago in the TechEd: Developers Europe timeframe I blogged about the Automatic Property feature

# C# 3.0 Automatic Properties explained

Saturday, March 03, 2007 2:34 PM by B# .NET Blog

A few months ago in the TechEd: Developers Europe timeframe I blogged about the Automatic Property feature

# re: C# 3.0 Automatic Properties explained

Saturday, March 03, 2007 3:28 PM by frederik

Hmm, It would've been nice if automatic properties would also support 'getter' only props.

# Automatische Properties

Saturday, March 03, 2007 4:09 PM by TheUndeadable entwickelt

Juchhu, Orcas scheint eine wahre Pracht zu werden: http://community.bartdesmet.net/blogs/bart/rss.aspx Kurz und schmerzlos: Vorher: public class Klasse { String _Name; public String Name { get { return _Name; } &

# Cheat Codes &raquo; New in Orcas - Code Metrics

Sunday, March 04, 2007 7:17 AM by Cheat Codes » New in Orcas - Code Metrics

# re: C# 2.0 iterators revisited - The Pascal triangle

Sunday, March 04, 2007 1:27 PM by Jason Whittington

Nice example.  A lot of good CS problems are nicely expresses this way.In my classes I've done:

* the Fibonacci sequence,

* an inorder traveral of a binary tree,

* Tower of Hanoi

* Knight's tour

* Taylor series approximations for sin(x), cos(x)

# re: New in Orcas - Embedding Vista UAC manifests in 30 seconds

Monday, March 05, 2007 11:12 AM by Thomas Lebrun

Hello Bart,

This could be easily done with less steps :)

Indeed, when you choose to add an item, in you solution, instead of choosing a XML file, you could choose an "Application Manifest file" as shown here: http://blogs.developpeur.org/photos/tom/images/29141/original.aspx

Like this, the content of the manifest is pre-populated.

Bye :)

Thomas

# re: Windows Vista - WinSta0 isolation explained

Tuesday, March 06, 2007 8:30 PM by Dennes

Hi, Bart !

Another great article ! I already talked about session 0 isolation but not with a demonstration like this.

But It seems you created the wrong way, the wrong comunication with the service.

So :

1) What's the right way ? I saw something about API's to call windows cross sessions, but I don't remember

2) This wrong way can be disabled through GPO's can't It ?

Thanks !

# How does the RemoteSigned execution policy work?

Tuesday, March 06, 2007 9:32 PM by Windows PowerShell

You might have wondered how the "RemoteSigned" execution policy protects us from running unsigned PowerShell

# re: Windows Vista - WinSta0 isolation explained

Wednesday, March 07, 2007 2:44 AM by bart

Hi Dennes,

Thx for the feedback. Whenever I write something on my blog I try to stick to the core message, in casu WinSta0 isolation. So I didn't want to bloat the code with communication stuff and another app just to send a message to the Windows service. For simple control messages, command codes are still a useful communication mechanism for services. Nevertheless, when you need a more robust and flexible way (in terms of parameterization) other solutions exist, like named pipes, .NET Remoting, WCF, raw TCP communication, MSMQ, etc. Just pick one :-). In today's technology state I tend to opt for WCF because of its RPC-style that allows to send natural-feeling parameterized messages from endpoint A to endpoint B, and because it encapsulates all of the other mentioned low-level technologies.

To conclude, I'd rather say there's no such thing as a "wrong way" (even more when considering the extenuating circumstances of demo stuff) but there always might be better ways :-).

-Bart

# re: Windows Vista - WinSta0 isolation explained

Wednesday, March 07, 2007 7:19 AM by dotnetjunkie

I think what Dennes really meant by "wrong way", was the same thing as you were referring to in this quote from your blog post:

"When you see this kind of message, the app you're dealing with has "partial incompatibility with Windows Vista". The message to developers: fix it "

So, how to fix it and have full compatibility with Vista :)

# re: Windows Vista - WinSta0 isolation explained

Wednesday, March 07, 2007 7:37 AM by Dennes

Thanks Bart, that's a good article. Just to clarify (my english is terrible) by "wrong way" I mean (I understood that...) the old way services talked with the user, wich in windows Vista generates these messages, exactly what your article demonstrate.

Thanks !

[]'s

Dennes

# New and Notable 148

Wednesday, March 07, 2007 9:11 AM by Sam Gentile

Still real tired from my Oklahoma trip , partying with Raymond sure is exhausting-). Agile/Development

# re: Windows Vista - WinSta0 isolation explained

Wednesday, March 07, 2007 9:37 AM by bart

Hi folks,

Now I see what issue you're referring to. Basically, you should make sure that WinSta0 doesn't do UI work at all - as a rule of thumb, a Windows Service shouldn't have a reference to System.Windows.Forms. In order to allow communication, a process in the user's session should be active and listening for messages coming from the service, e.g. via .NET Remoting, WCF, named pipes, etc. When no direct interaction is required, logging to the Windows Event Logs might be a sufficient level of "communication", together with some configuration tool to perform the service's configuration.

-Bart

# Mais uma do Bart : Simplifica&#231;&#227;o do manifesto para UAC

Thursday, March 08, 2007 7:27 PM by Dennes

Durante a TechConference vocês puderam observar a dificuldade que é inserir um manifesto em um...

# New C# "Orcas" Language Features: Automatic Properties, Object Initializers, and Collection Initializers

Thursday, March 08, 2007 11:02 PM by ScottGu's Blog

Last week we shipped the March CTP of our Visual Studio and .NET Framework "Orcas" release. It is available

# New C# "Orcas" Language Features: Automatic Properties, Object Initializers, and Collection Initializers

Thursday, March 08, 2007 11:19 PM by Community Blogs

Last week we shipped the March CTP of our Visual Studio and .NET Framework "Orcas" release. It is available

# New C# "Orcas" Language Features: Automatic Properties, Object Initializers, and Collection Initializers

Thursday, March 08, 2007 11:31 PM by BusinessRx Reading List

Last week we shipped the March CTP of our Visual Studio and .NET Framework "Orcas" release. It is available

# New C# "Orcas" Language Features: Automatic Properties, Object Initializers, and Collection Initializers

Thursday, March 08, 2007 11:31 PM by BusinessRx Reading List

Last week we shipped the March CTP of our Visual Studio and .NET Framework "Orcas" release. It is available

# re: C# 3.0 Automatic Properties explained

Friday, March 09, 2007 8:59 PM by halo

frederick,

I've not toyed with the CTPs but I imagine that scenario could be accomplished using different accessability:

public string Name { get; private set; }

That way you can only set Name within the class.  I imagine someone else can confirm or deny this functionality.

# re: C# 3.0 Automatic Properties explained

Saturday, March 10, 2007 12:12 PM by e.thermal

automatic properties seem interesting, but in all the write ups this one included there is no mention of how to access the private member within the class that gets automatically generated.   When writing data back to the database I always get the data from the private member.  How would one do this now?   Use the convoluted automatically created member name?  or use the public property from within the class?

# re: C# 3.0 Automatic Properties explained

Saturday, March 10, 2007 1:59 PM by bart

Hi e.thermal,

There are lots of valid answers to your question. First of all, let's point out that there is no way to refer to the private member - it's hidden and it stays hidden as long as you use an automatic property.

Concerning the database functionality, you'll need to use the public getter. In fact, the real question should be where you want to put database logic - inside the class (which acts as an entity, e.g. Person - and therefore is in the BLL) or somewhere else in another layer, consuming the public interface of the entity object, typically in the DAL. I prefer the latter solution. Automatic properties fit in this strategy because these allow an elegant definition of entity classes.

Another typical usage of entity objects that only use public properties are classes that are meant to be serialized, acting as a container for multiple data fields.

-Bart

# Orcas中C#语言的新特性:自动属性,对象初始化器,和集合初始化器

Saturday, March 10, 2007 6:12 PM by Joycode@Ab110.com

【原文地址】 New C# "Orcas" Language Features: Automatic Properties, Object Initializers, and Collection Initializers

# Orcas中C#语言的新特性:自动属性,对象初始化器,和集合初始化器

Saturday, March 10, 2007 6:12 PM by Joycode@Ab110.com

【原文地址】 New C# "Orcas" Language Features: Automatic Properties, Object Initializers, and Collection Initializers

# Orcas中C#语言的新特性:自动属性,对象初始化器,和集合初始化器

Saturday, March 10, 2007 6:49 PM by Athrun

【原文地址】NewC#

# Orcas中C#语言的新特性:自动属性,对象初始化器,和集合初始化器

Saturday, March 10, 2007 6:50 PM by Athrun

【原文地址】NewC#

# New C#

Saturday, March 10, 2007 7:26 PM by Adrian.

Scott Guthrie介绍的C# 3.0中的语言新特性

# Orcas中C#语言的新特性:自动属性,对象初始化器,和集合初始化器

Sunday, March 11, 2007 8:58 PM by ljianl

【原文地址】New C#

# Bart de Smet writes a simple UrlRewriter to redirect requests

Monday, March 12, 2007 4:19 AM by Community Server Bits

Bart de Smet writes a simple UrlRewriter to redirect requests of his recently relocated and url-modified

# Bart De Smet describes a positive migration experience of his Community Server 2.1 site to his new DiscountASP.NET host

Monday, March 12, 2007 4:25 AM by Community Server Bits

Bart De Smet describes a positive migration experience of his Community Server 2.1 site to his new DiscountASP.NET

# מה הרייטינג שלך?

Monday, March 12, 2007 1:36 PM by Guy Burstein's Blog

פוסט זה הוא פוסט המשך בסדרה " טיפים וטריקים: כתיבת פוסטים באתר הבלוגים ". כשהתחלתי לכתוב בבלוג שלי, פרסמתי

# Answers to C# Quiz - Need for speed

<