Announcing the Application Compatibility Toolkit 5.0.2


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!

Comments (31)

  1. ananda84 says:

    Standard User Analyzer Wizard.-Neat!.

    -Ganesh.

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

  3. Cecil Ward says:

    I’ve been trying this promising tool a lot recently and have immediately encountered many, many problems. Is there any way to get some kind of support (or even a simple sanity check) to get me going?

  4. cjacks says:

    Cecil – what problems are you having?

    ACT is a fully supported tool, and there is also a burgeoning community around the tool.

    Chris

  5. Chandan Omkar says:

    Hi Chris, I have a doubt

    Why does SUA 5.0.2 catch more Vista compatibility issues when the elevate option is checked and why it shows less issues when the elevated option is unchecked?

  6. cjacks says:

    Hi Chandan,

    SUA can very easily catch different issues when elevated and non-elevated. When elevated, you are actually running as full admin, but we then log where we predict that something worked only because you were full admin. When unchecked, you’re running with a limited token. So, if the software tries to determine if you are an admin, and if so it exits, then that’s the only issue you’ll see. (If you had been elevated, then that answer would have been yes, and it wouldn’t have exited.) So, with it unchecked, all we do is log the access denied return results, and you continue to see any failures or code paths that a non-admin sees.

    I typically recommend running elevated if you are a tester, so you can actually finish testing all of the functionality. I recommend not running elevated if you are a developer and doing a final check on your app to make sure you don’t have any more LUA bugs.

    Thanks,

    Chris

  7. Vrunda says:

    Hi,

    I am trying to configure one software(compiled on Windows 2003) with ACT 5.0 on windows 2003 SP1. In the wizard, when I am trying to check the compatibility, the windows 2003 SP1 option is disabled. Why is it so?

    Thanks in advance.

  8. cjacks says:

    Vrunda –

    Compatibility Administrator doesn’t actually hold any of the shims – it just gives you a view of the shims that exist on a particular system. We disable the Win2K3SP1 version lie radio button on Win2K3SP1 because it doesn’t have that shim (we don’t need to lie about that version – we actually are that version!).

    The best practice is to create a shim database on a machine running the OS you intend to shim. If you’re going to be shimming Windows Server 2003 machines and Windows Vista machines, you should create 2 SDBs, one of them created on Windows Server 2003 and the other created on Windows Vista.

    Thanks,

    Chris

  9. vforvas says:

    Hello Chris,

    We have an Application (EXE) that was built on Windows XP Machine (Source Coded in Visual C++ 6.0).

    Will there be any compatibility issues, if this application is to be used on a Win 2003 Server (Application will be accessed by multiple users using CITRIX)

    If yes, Please let me know the version of ACT that should be used.

    Thanks and Best Regards,

    Vasant

  10. cjacks says:

    Hi Vasant,

    I’d just try it and see! There are applications that were built on DOS 1.0 that still work today, and there are applications built on Windows Server 2003 that no longer work because they depended on undocumented APIs that we changed (since they’re undocumented we can) so they broke. So, it’s hard to say!

    As for which version of ACT, 5.0.2 will work for you just fine. Server 2003 is a supported platform.

    Thanks,

    Chris

  11. Mike says:

    Chris,

    My company is looking to deploy Windows Vista with office 2007. I need to get ramped up really quick on the ACT tool. There is a lot of information on the ACT tool however I need real world how to install and run the tool type instructions.

    My plan is to immediately test our standard desktop applications which everyone receives, this way we can be ready to support Windows Vista and Office 2007 by Oct 1. After we test our standard applications we will then move on to our other applications. We have about 60 machines in our pilot running what we feel with be the core applications. Should I run the ACT tool against those machines to ensure the applications are truly compatible? We have already collected our application inventory using another tool…Is there another tool within the ACT tool kit which will just perform analyzing?  We are a MVL customer with software assurance and all the bells and whistles. I’ve talked to my TAM and he is having a hard time getting me on the Phone with an ACT guru.

    We could really use some help.

  12. cjacks says:

    Hi Mike,

    In terms of planning how to install ACT, the best resource is the deployment planning guide. It’s linked to from the ACT download (http://www.microsoft.com/downloads/details.aspx?FamilyId=24DA89E9-B581-47B0-B45E-492DD6DA2971&displaylang=en).

    In terms of using it and testing, the collectors are insufficient to tell you everything that is wrong. I’d take a look at http://www.microsoft.com/events/EventDetails.aspx?CMTYSvcSource=MSCOMMedia&Params=%7eCMTYDataSvcParams%5e%7earg+Name%3d%22ID%22+Value%3d%221032374416%22%2f%5e%7earg+Name%3d%22ProviderID%22+Value%3d%22A6B43178-497C-4225-BA42-DF595171F04C%22%2f%5e%7earg+Name%3d%22lang%22+Value%3d%22en%22%2f%5e%7earg+Name%3d%22cr%22+Value%3d%22US%22%2f%5e%7esParams%5e%7e%2fsParams%5e%7e%2fCMTYDataSvcParams%5e where I talk about managing that project end to end.

    You can tell your TAM to contact me. My alias is right there in my blog URL.

    Thanks,

    Chris

  13. Mike says:

    Chris,

    Thanks for the quick response. I installed the ACT tool kit. When I opened the Act Manager I was ablr to get as far as putting in the file share with the account required for the share and the ACT tool crashes…good new it sent the error off to Microsoft…let me know if you have any thoughts. Thanks again

  14. cjacks says:

    Hi Mike,

    Well, without seeing any details about the crash (such as a stack trace) I don’t really have any thoughts. My psychic powers are not that strong. :-)

    Since ACM is managed code, you probably have one come up when it crashes – can you peel that off and forward that along?

    Thanks,

    Chris

  15. Samrat says:

    I had used the Application Compatibility Toolkit couple of times and found it very useful for me.

  16. ABC says:

    Hi,

    when I was trying to use the SUA tool. It has got captured lot of issues, but which issued we need to take care and which can we ignore, I am not able to understand.

    And here in this logs there is one coloumn with "VIRTUALIZTION". How can we resolve this virtualization issues?

    Please could anyone reply for my query?

  17. cjacks says:

    ABC-

    Virtualization indicates that file/registry virtualization on Windows Vista should automatically fix it. There’s actually a help file for SUA, but it’s buried. See: "C:Program FilesMicrosoft Application Compatibility Toolkit 5Standard User AnalyzerSUAnalyzer.rtf"

    Chris

  18. ABC says:

    Hi Chris,

    ya I know that, this virtualization errors will be fixed by vista itself. But if we turn off the virtualization in our loacl machines then how come the applications will work?

    Inorder to work on these issues do we have any other shims or anyother alternative ways to get resolve?..

    I heared there is one conecpt called Manifest file….But I do not know how to implement the Manifest file?..

    please Chris, could you bring me out of this hell.

  19. cjacks says:

    ABC-

    It’s hard for me to debug something without seeing it, so understand that I must be vague. If the app is trying to write somewhere, but works w/o virt as a standard user, then either the ACLs are set so you don’t have Access Denied or the app is handling the failure and going on without the write.

    If you need to redirect, I’d just use virt. No point in doing the heavy lifting since we’ve already done it. If you have a file someplace virt doesn’t cover, I’d use CorrectFilePaths.

    You shouldn’t be manifesting somebody else’s apps – that for developers to declare their intent. If you didn’t write it, you should stick to shims. Shims always win anyway if they conflict with a manifest.

    Chris

  20. ABC says:

    Chris,

    ya, it’s not the good practice to modify somebody else application by develpoing the manifest file.

    But in our project, my client is asking us to prepare the manifest file as it should turn off the virtualizatiion?

    So if you know like how to write the code for it, it’d be greatful to me.

    I can understand that i am going in depth and might be irritating you also. But you are the only one person could help me in this regard.

  21. cjacks says:

    If you want to turn of file/registry virtualization, turn it off via group policy, not via manifest.

  22. ABC says:

    So you dont suggest turnoff virt using manifest.?

    Thnks chris

  23. cjacks says:

    Nope, not if you’re not the application developer.

  24. ABC says:

    So, as per your suggations I wont go with manifest file. But do we have any shims to reslove these issues?

    I have seen some shims like

    1)virtualregistry

    2)Virtualize HKCR lite

    will these workarounds work? To apply these shims do we need to provide any other registry paths( which will redirects to other location) in parameter field.?

  25. cjacks says:

    VirtualRegistry needs a command line, as detailed here: http://blogs.msdn.com/cjacks/archive/2007/09/27/using-virtualregistry-to-redirect-registry-keys-on-windows-vista.aspx

    VirtualizeHKCRLite does not.

  26. pramod says:

    HI ,

        Am not able to synchronize with the ACT exchange database. I am not using proxy server to go through the internet. What may be the issue

  27. cjacks says:

    pramod – I’d try posting this on the ACT newsgroups or other support mechanism to sort this out.

  28. It seems like just yesterday I was posting about ACT 5.0.2 being released, but we just released ACT 5.0.3

  29. Santhosh says:

    Hi Chris,

     Is there any option/tool to use SUA from command prompt? The situation is this –> we have hundreds of dlls/exe’s as part of our application to analyze for compatibility and running each one of them manually through SUA seems like not a best option. So we thought if we can create a script for running all these test cases as a batch file and run them through the command prompt in a single shot.

    The other alternative would be to launch Compatibility Manager and let it do the work while all the programs run in the backgroiund, but i would really like to know if a command line option is available for SUA?

    Thanks

    Santhosh

  30. cjacks says:

    Hi Santhosh,

    SUA doesn’t have a command line component, but you could use appverifier to track things by enabling the LUAPriv layer. In fact, if you look at the output window of SUA when it’s running, it’ll show you the command line it passes to appverifier.

    Thanks,

    Chris