Tuesday, January 23, 2007

CSS


Nice CSS examples.
Navigation, tabs menu, shadows, rounds, etc...

53 CSS techniques you couldnt live without

Thursday, January 11, 2007

Installshield hangs

I would prefer stay away from Installshield. I will never write my experience in this product in the my resume. But it happens, I must work with it "time after time"
Setup hang after finished whole work, and exited from any of my install script events.
Why?
Because I forgot to call SdShowMsg("", FALSE) in one of cases.
After investigation of the community I found, this problem happens on abort or exit calls as well in different versions. I have latest Installshield 12. Should Macrovision fix their bugs? No answer.

Monday, January 08, 2007

VS 2005 DLL Hell and simple C++ Win32

So many people have problems with C++ on VS 2005 and just released Service pack 1. So many blames, hysterics, and threaths to change development environment. What Microsoft doing for C++ programmer? As they explaining, they trying doing best to avoid DLL Hell.
Come on, enough! Let's move to Linux. Just kidding. :)

Fortunately, since .NET appeared, I am not writing C++ too often. However, yesterday I required to write simple Win32 C++ application and got troubles with running it on computer w/o .NET installed.
Damn, where is old good VS 6.0?
I created empty Win32 application, compiled it and copied to computer without .NET.
Bah!
"Application has failed to start because MSVCR80.dll was not found"

Ok, I copied this runtime DLL to application folder. Bah!

"An application has made an attempt to load C runtime library incorrectly"

Ok, result of the investigation is clear - together with exe, VS 2005 built manifest file. I copied manifest file to application directory. Now... error is same.
Just to check, I installed .NET 2.0 and application started to work. Wow. But wait, I am writing win32 C++ application, why I need this framework?

I get through project properties, disabled any manifest settings, and saw, that project settings were set to not require .NET CLR. No progress. Application doesn't work w/o .NET. As experienced C++ programmer, I think, I am too old for this. :) Where I put CD "Visual Studio 6" ?

At last, I changed to static linking for the runtime library. I choosed using /MT rather than /MD. Yes, Microsoft doesn't recommend it. But... Bingo! Application started to work!
Some explanation of the strange behaviour of VS 2005 is found there.
http://www.itwriting.com/blog/?postid=261
There are also another solutions, but they doesn't seem workable for system w/o .NET
I decided to stay with static linking for now as single way to get win32 exe and run it everywhere. Is there another way? God knows.

BTW, there is another source describing the situation. http://www.grimes.demon.co.uk/workshops/fusWSThirteen.htm
I agree with article that implementing strange ideas in unmanaged programming doesn't look too nice and handy.
"The whole process of manifests and embedding them is topsey-turvey and is a complete mess. This is yet another example of Microsoft losing the plot"