The App Compat Guy

Chris Jackson's Semantic Consonance

November, 2007

  • The App Compat Guy

    Converting Shim Database Files to XML, and the Sdb* APIs

    • 2 Comments

    This was brought to my attention by a recent acquaintance: heaths dropped some bits on his blog that will dump the contents of an arbitrary shim database (including the system shim database) into an XML file for parsing and manipulation.

    I think this is interesting to a point. While you can get most of the same data in a graphical tool by launching Compatibility Administrator with the super-secret /x command line switch, being able to manipulate it and search it can be very useful.

    However, what really caught my attention is that it links to some APIs which I had absolutely no idea were documented: the Sdb* APIs.

    This could make things interesting. Standard User Analyzer uses these APIs today to create mitigation databases for UAC issues. I wonder what other people can come up with to automate the mapping of problems to solutions.

  • The App Compat Guy

    Managing Shims in the Enterprise

    • 0 Comments

    I've been talking a lot about shims lately here, but it's been rather lopsidedly technical.

    Using shims can be extremely helpful in mitigating application compatibility issues and unblocking deployments of Windows Vista. However, there are a few obstacles to navigate before you can really begin using them.

    First, you would like to really understand them so you can feel confident regarding the side-effects - explaining the relevant consequences to business and technical decision makers. Hopefully this was a good start, and I typically include this discussion when I talk about shims at conferences as well.

    Once you feel comfortable using them, then the next step is learning how to use them. I've been blogging about shims, worked with the ACT team to update the documentation in the help file for ACT 5.0.2, and speaking about it publicly at various events (most recently TechEd IT Forum in Barcelona).

    But, assuming that you convince people that it's a good idea to use shims, and you actually know how to use them, you probably want to make sure that you don't end up in a position where they become something that initially isn't well managed, which could lead to trouble later. So, I put together a whitepaper discussing best practices from the customers I have worked with who have leveraged this technology, and how they have built policy around when to shim and how to manage custom shim databases. If you have any feedback, please comment!

    Managing Shims in the Enterprise

  • The App Compat Guy

    Announcing the Application Compatibility Toolkit 5.0.2

    • 31 Comments

    We have released a new version of the Application Compatibility Toolkit 5.0. Internally we refer to it as the 5.0.2 release, although the actual version number isn't 5.0.2, it's 5.0.5428.1056. (I still haven't fully grasped all of the inputs that drive the choice of version numbers.) Whatever you decide to call it, it's our third drop, and it includes a number of changes based on popular demand by you. I wanted to dive into some of the things that we addressed in this release.

    • Support for the .NET Framework 2.0. This one is a big one. When the team started working on the toolkit, there was not much penetration of the 2.0 framework. It made sense to depend on the framework that more people had installed. However, now that Windows Vista has shipped, we find that most people are running their ACT client application on Windows Vista itself. And you know what? Installing a 1.1-dependent application on Windows Vista is painful. You have to install the framework. Then, you have to install SP1. This requires a reboot. After the reboot, you have to approve elevation of a final bit of code to finish up the job. Finally, you are able to install ACT. Now, you can just install it on Windows Vista, taking a 10 minute process into a 1 minute process. When you're working in a lab environment, and want to use the tools to do some testing, this really adds up!
    • Removal of MSXML 6 Dependency. Another big win. Certainly, this makes the job of the data collection packages easier, but it wasn't making your job easier. Granted, if you had already installed MSXML 6, the MSI would just numinstances++ and everything was fine. But if you didn't have it installed, we'd drop it. And, shortly after we released ACT 5.0, there was a patch for MSXML 6. So, if this was the first drop, you'd have to follow up your deployment of data collectors with an MSXML patch. We just made your job harder. We figured we should have the harder job than you, so we removed this dependency.
    • Data Collection Packages Creates as MSIs. If you have worked with previous versions of ACT, you know that we created DCPs as executable files, which you then had to deploy to your desktops. Most deployment tools work best with MSIs instead of setup.exes. It's even a logo requirement. So, now we create MSIs. This was another source of tremendous feedback when I talked to customers.
    • Removal of Windows Live ID (Passport) Requirement. This really wasn't much of a problem for customers that had this working. I hadn't heard much feedback that it worked but people didn't like it. But what I did hear feedback from is people for whom it didn't work. The biggest culprit was proxy servers that required authentication. Now, we don't require a Windows Live ID (Passport) login - you just go directly to the web service. Hopefully this will enable a lot more people to be able to synchronize with the ACT community (and we're still working hard to add community features!).
    • Standard User Analyzer MSI Creation. For those of you who have discovered the mitigation feature of Standard User Analyzer, one of the challenges is that you create these mitigation on the local machine. I later talked about deploying the fixes that you create, but we've made it even easier to test these fixes. You see, the average tester is not going to be able to fully test all of the software involved in your organization. So, what typically happens is that some expert in using the software uses it on Windows Vista until it breaks. Then, they hand it over to somebody who can figure out what is wrong. They may be able to resolve it using a mitigation created by SUA, but they can't thoroughly prove it because they aren't the expert in using the software. Now, they can export this fix as an MSI, and then drop it on the machine the expert in the software is using, and they can test it. Much easier! (Note that this isn't probably how you want to deploy the fix, but it's great for spreading it around your lab.)
    • Standard User Analyzer Mitigation Rollback. Another great one - the fixes that you add can now be easily done without having to go into Compatibility Administrator to remove them! A convenience feature, to be sure, and one that I love.
    • Standard User Analyzer Wizard. I haven't played with this one as much, but here's the idea. If you just want to mitigate a solution, and not know any of the details of what's happening, this wizard will do the same analysis and investigation, but the only output is an MSI that could fix the issues.  Some follow-on work is necessary to merge this with your enterprise-wide custom SDB, but it could be helpful if you need to simplify.
    • Application Filtering by Domain. Another popular request. If you are deploying Windows Vista based on location, being able to filter on a particular domain may make it easier to target that particular group of people.
    • Reporting for Windows Vista Service Pack 1. For those customers who are going to be testing on SP1 (whether they're not deploying any Windows Vista machines until SP1, or if they are retesting an existing deployment) we can now separate your testing results into a new SP1 reporting node. (Note that we won't have community data for this until SP1 is released.)
    • Updated Documentation. We have added a number of new walkthrough topics. We have included the Standard User Analyzer documentation to the overall ACT documentation, and we've begun to add new shim documentation. The shim documentation I'm particularly proud of, because I was able to contribute to this. Fortunately, I had the assistance of ACT's fine technical writer, Liz, who could translate my ramblings into something people actually want to read (hopefully).

    We're going to start the update prompts from ACM itself on November 14, 2007. If you just can't wait, then you can always download manually from here and install it right now!

Page 1 of 1 (3 items)