# Wednesday, 21 April 2004

Timeline on XP SP2

Rebecca Norlander, group manager for the SBTU, spoke with Nash and confirmed that a second test version of Service Pack 2, known as Release Candidate 2 (or RC2) will be released in May, and that the final version of XP Service Pack 2 (SP2) is still on schedule for the first half of the year. More release candidates are possible after the RC2 release, depending on customer feedback, Norlander said.  [via InfoWorld: Microsoft executives face questions on XP SP2: April 20, 2004: By : PLATFORMS]

Still waiting for an SDK here, still waiting for info on how the SetHomePage() binary behavior knows that its been called from within a user initiated context. If MS authored stuff can do it, why can't the rest of us - or have I missed the obvious?

#    Comments [2] |
# Wednesday, 07 April 2004

Channel 9 (well everyone else is linking to it...)

Channel 9 is all about the conversation.  Channel 9 should inspire Microsoft and our customers to talk in an honest and human voice.  Channel 9 is not a marketing tool, not a PR tool, not a lead generation tool. [via Microsoft WebBlogs]

 Awww, bless the dear little things. About the only thing of that list it isn't is a lead generation tool but PR and marketing it most certainly is. They are just pretending that they don't think its a PR tool aren't they?

#    Comments [0] |

Arsenal: 1 - Chelsea: 2

The title says it all.
#    Comments [0] |
# Monday, 05 April 2004

The MSI toolset the Office group uses (apparently)

WiX became the first project from Microsoft to be released under an OSS approved license, namely the Common Public License.

Before everyone gets sidetracked by the Open Source implications, let’s talk about exactly what WiX is.  WiX is a toolset composed of a compiler, a linker, a lib tool and a decompiler.  The compiler, called candle, is used to compile XML source code into object files that contain symbols and references to symbols.  The linker, called light, is fed one or more object files and links the references in the object files to the appropriate symbols in other object files.  Light is also responsible for collecting all of the binaries, packaging them appropriately, and generating the final MSI or MSM file.  The lib tool, called lit, is an optional tool that can be used to combine multiple object files into libraries that can be consumed by light.  Finally, the decompiler, called dark, can take existing MSI and MSM files and generate XML source code that represents the package.

 [via when setup isn't just xcopy]

 Like probably a lot of other people I hate the supposedly professional tools such as Wise and InstallShield either because they are not very good or because the are expensive or both! This toolset might well be worth a look at as an 'understandable' way of editing MSI files.


#    Comments [1] |
# Thursday, 01 April 2004

XP SP2 IE API Changes

OK, this is all I can find about IE relevant API bits on MSDN for XP SP2:

CompatFlagsFromClsid Function (Internet Explorer - URL Monikers)
Reads the Microsoft ActiveX Compatibility registry entries for the specified ActiveX control.

CoInternetIsFeatureEnabledForUrl Function (Internet Explorer - Security)
Determines whether the specified security feature control is enabled for the security zone of the specified URL.

CoInternetIsFeatureZoneElevationEnabled Function (Internet Explorer - Security)
Determines the URL policy for for the specified URL. When the policy is , this function displays a dialog that allows the user to decide whether to allow the zone elevation.

CoInternetIsFeatureEnabled Function (Internet Explorer - Security)
Determines whether the specified security feature control is enabled.

CoInternetSetFeatureEnabled Function (Internet Explorer - Security)
Enables or disables that specified security feature control.

INTERNETFEATURELIST Enumerated Type (Internet Explorer - Security)
Contains the security feature controls for Microsoft Internet Explorer.

IWinInetCacheHints Interface (Internet Explorer - URL Monikers)
Allows an URLMON client to change the file extension on the Microsoft Win32 Internet (WinInet) cache file.

Updated 01.04:

INewWindowManager interface

NewWindow3 Event (Internet Explorer - WebBrowser)
Raised when a new window is to be created. Extends NewWindow2 with additional information about the new window.

IAttachmentExecute Interface
Helps client applications safely manage the saving and opening ofattachments for users.

If anyone finds more, please let me know (not that I am becoming obsessive about this!).

#    Comments [0] |

XAML Communications failure

Chris Anderson doesn't think he was clear about the 'hack' in XAML and I misunderstood....

Pete Cole said .... That's OK a) the hack works and b) its invisible to the 'user' (they just see the programming formatting correctly as they expect) - hacking implementation of a 'programming' language ain't going to work."

The interesting to note, it is actually the Style object that implements the custom parsing and serialization of markup to support the "as use" syntax. This interface is documented and discoverable (both by tools and developers). In addition any component can implement the interface and customize their parsing.

Hack, maybe. Invisible, no.

 [via simplegeek]

The problem is I should have said "(they just see the application formatting text correctly as they expect)".

My point was hacks in Word processor code seem to be a fact of life and one 'gets away' with it because the hack is invisible to the end-user.

There may be trouble with XAML in that the hacks are visible to the end user (the developer), this is what, it seemed to me, Marc Clifton was saying (or at least one of the things he was saying).

I'm afraid I am one of those people to whom code needs to be readable; the hacks that are becoming apparent in XAML mean that, to me, it is difficult to read, i.e. to translate it in your mind to what is going on. One should be able to read a piece of code and get a sense of what it is doing, even if you've never seen the language before - this just doesn't seem to be true in XAML - tags are sometimes classes, they are sometimes instructions and unless you know the entire .NET framework off by heart you will never know just by reading a piece of code what it is you are looking at?

What does this do:

   <menuitem text="Hello" prompt="This option will cause an explosion" />

It seems that it depends upon whether I, the developer of the implementation of menuitem have implemented custom parsing. But just by reading it, do you, the XAML developer, know?

It may be that my model of what XAML is is just completely wrong and therefore I'm reading XAML samples with the wrong mindset

#    Comments [0] |
# Wednesday, 31 March 2004

The future today

According to the Platform SDK - Last updated: April 2004

And yet overhere, where we are ahead in time, it is still March 2004. Still, who is complaining, at least it says: "The next scheduled update of the Platform SDK will be for the release of Windows XP SP2".


#    Comments [0] |

XP SP2 won't be documented till after RTM?

(1) Yes- you can turn them off and on, and there are some registry keys to control finer points in the algorithm. I will discuss these keys at some point after we RTM, since they are still changing. [via jeffdav]

So all of us who write code against this stuff have to wait until some time after the thing is RTM until we can test whether our stuff works/whether it behaves as you describe.

The api CoInternetSetFeatureEnabled has appeared on MSDN, this seems to be an API to control behaviour on a per process basis (although its not at all clear from the docs) and therefore registry keys are irrelevant? Ahhhh, but registry keys are relevant to the finer points in the algorithm - so the API isn't going to be enough.

I have no idea when this API appeared, it is inconsistent with the documentation currrently/previously available. The (ta da) 'Developer Training' doesn't mention any of this. How are we supposed to track this stuff dribbling out? Where is the SDK, presumably also some time after RTM?

#    Comments [0] |
# Tuesday, 30 March 2004

IE back on the roadmap?

Want to work in one of the best teams at Microsoft? Both the Shell (as in Explorer, not cmd.exe (or Monad)*) and Internet Explorer teams are hiring SDEs and SDETs. Heck, maybe you could be the one who helps implement tabbed browsing, rendering transparent PNG files, or CSS 2.0.  :-) [via Tony Schreiner's WebLog]

 With the implication, since one would help, that tabbed browsing etc are in the pot (see disclaimer in original entry).

#    Comments [0] |

XAML is a hack

.... We then applied the same hack (uhm, i mean design) to the element explar ....  [via simplegeek]

And there we have it - they came across some problems with the initial (very cute) idea and its been one hack after another thereafter. That a hack is 'by design' doesn't make it any less of an inelegant, unsatisfactory hack. This does explain some of the bizarre syntax I have previously complained about. One wonders if the implementation of XAML is becoming like writing Word Processors - you end up putting in kludges/hacks in the code to cope with particular strange cases. That's OK a) the hack works and b) its invisible to the 'user' (they just see the programming formatting correctly as they expect) - hacking implementation of a 'programming' language ain't going to work.

#    Comments [5] |