- Using and deploying applications that include the .NET Framework 3.5 (or earlier versions) is fully supported on Windows XP (SP2 and later) with App-V 4.5 CU1.
- For all other platforms, the client OS must have .NET locally installed. The installed version must be greater than or equal to the application’s .NET dependency
- Windows Vista RTM includes .NET 3.0 by default, no additional .NET installation is required unless the application requires .NET 3.5 RTM or SP1
- Windows Vista SP1 (fully-patched) includes .NET 3.0 by default, no additional .NET installation is required unless the application requires .NET 3.5 RTM or SP1
This blog details some of my thoughts and aspirations relating to application packaging, compatibility and the ongoing management of applications on desktop, server and cloud platforms. I have a strong focus on the Windows desktop space, but as we progress into more and more cloud based application management, we will definitely see more posts on getting applications working in the cloud.
Wednesday, 30 September 2009
App-V and .NET: Pick a bubble, any bubble
Monday, 28 September 2009
Morning - You've got Middleware!
Sunday, 27 September 2009
Windows 7: An Application Un-Compatibility Update 26 September 2009
I thought that update was pretty intriguing, as it demonstrated that Microsoft has already engaged it Support and Maintenance "Engine" (Patches and Updates) for an operating system that has not yet even been formally released.
Application | Behavior after you install the update |
Alcohol 52% | Update enables Windows 7 compatible Alcohol 52% versions to work |
Altiris and Symantec Virtual Software up to version 6.1.499.x | Upgrade Block to avoid errors during Windows upgrade |
ZoomText version 9.18 | Driver hard Block to prevent an error |
Dell Printer Driver (Models-V105, V305 and V505) | Upgrade Block to avoid setup failure |
Trend Micro Internet Security 2007 | Upgrade Block to avoid error during Windows upgrade |
Trend Micro Internet Security 2008 | Upgrade Block to avoid error during Windows upgrade |
Trend Micro Internet Security 2009 | Upgrade Block to avoid error during Windows upgrade |
YiDongFeiXin version 2.2.x and version 3.5.x | Enables application to work |
PGP Desktop up to version 9.x | Soft Block to warn about possible issue after Windows upgrade |
Trend Micro VirusBuster 2008 | Upgrade Block to avoid errors |
Windows Live Photo Gallery | Update Windows Live Photo Gallery to avoid file association issue with Windows Media Player OCX |
In addition, there are a number of core SDB files (or SHIM database files) which are updated as part of this update. Here is a screen-shot of my local machine directory structure;
In this case both SYSMAIN.SDB and the PCAMAIN.SDB files were updated. For those of you who don't deal with application compatibility issues everyday, these files may seem a little new/strange/worrisome to you. These SDB files are delivered as part of Windows (and Windows Vista) and contain information in a proprietary database format that details how the target operating system should handle the application. For example, what application SHIM should be used for the to allow YiDongFeiXin to work.
Read the messages for the following applications;
Altiris and Symantec Virtual Software up to version 6.1.499.x | Upgrade Block to avoid errors during Windows upgrade |
ZoomText version 9.18 | Driver hard Block to prevent an error |
These "Update Blocks" for these applications actually STOP these applications from running - so, they won't cause any application or system level errors. This is part of Microsoft's Program Compatibility Assistant technology. You can read more about this here: http://msdn.microsoft.com/en-us/library/bb756937.aspx
I repeat, as part of this Compatibility update, the solution here is to simply stop the applications from starting or our upgrading. With the good intention that this new behaviour will prevent the user from a bad experience.
As Robert Heinlein once said, "Good intentions are the root of all evil!"
Wednesday, 23 September 2009
Virtual Round Table - Part 2
- Microsoft App-V
- Microsoft Med-V
- Windows XP Mode
- Windows 7 Compatibility issues
Monday, 21 September 2009
Windows 7: With or without IE
Found here: http://windowsteamblog.com/blogs/developers/archive/2009/07/13/windows-7-e-best-practices-for-isvs.aspx
The blog opens with the following quote from the author Yochay Kiriaty:
" we will ship the same version of Windows 7 in Europe as in rest of the world on the worldwide launch date of 22 October, 2009. This version of Windows 7 includes Windows Internet Explorer 8 to help people get the most from their PCs and the Internet."
There is some real confusion on my part here, as the article continues to discuss about the shipments of Windows 7 "E" but I think the core point here is that there are going to workstations out there running Windows 7 and will not include IE8. Whatever they are called; Windows 7 or Windows 7 -E
As a side note, "E Versions of Windows" or more accurately "European Versions" will not contain Internet Explorer 8 or at least the IE feature will not be enable by default. From what I understand, if someone wants Internet Explorer 8 functionality that can enable the functionality through the Turn Windows On or Off dialog box, they could simply enable it through the following dialog box (I bet a reboot will be required);
There is some real confusion on my part here, as the article continues to discuss about the shipments of Windows 7 "E" but I think the core point here is that there are going to workstations out there running Windows 7 and will not include IE8. Whatever they are called; Windows 7 E, Windows 7 No-E, Windows 7 E-Less or my favourite Windows 7 -E, the real question for us application compatibility drones/workers/slaves/enthusiasts, is how should we test our applications?
It appears that there are already a few documented "No-IE" application compatibility scenarios including;
- Hard-Coded application references to Internet Explorer will not load the default browser correctly (i.e. shellexecute is bad!)
- Explicit references to IE8 API functions will not work
- HTML 'Window Open' calls may fail to open a new browser window correctly
- Application help files (CHM format) rely on the web-browser control - will these work properly?
- How will applications get/set their internet proxy settings? ChangeBase AOK could be a victim here. Ooops!
- How about applications with embedded dependencies on a web-browser such as Sage, Reuters and Bloomberg?
There is one benefit to all this though - most Microsoft Patch Tuesday updates relates to security updates Internet Explorer. If you don't have IE on your machine, well, the theory is you might just have a slightly easier Wednesday morning.
Friday, 18 September 2009
Windows 7 - Some Overal Compatibility Results
Over the past few months, we have been working with Microsoft and their partners to get a early view on the compatibility issues that Windows 7 might raise with client application portfolios.
This process was called a Proof of Concept (POC) and covered the following platforms;
• Windows 7
• Office 2007
• Internet Explorer 8
• Microsoft App-V (Virtualization)
Drawing from clients across Europe and America, the company I work for (ChangeBase) was able to rapidly deliver automated application compatibility assessments for Windows 7, Microsoft’s App-V virtualization technology, Microsoft Office 2007 suitability and Internet Explorer (IE8) compatibility in minutes per client.
Our software was able to generate a comprehensive report on specific application compatibility issues and then automatically fixing a select number of business critical applications. This ensured that these updated application packages were fully compliant with Microsoft and Industry Standards for Windows XP, Windows 7 and Windows 2008 operating system platforms.
And, here is the part you are interested in...
From this large portfolio of applications, the following application compatibility results were generated;
Where Red issues represent non-fixable applications, Amber indicated fixable (manual and automated fixing included) and Green represents applications without reported issues. This means that 92% of applications were ready to deploy to Windows 7. From these results the top application compatibility issues were;
For my next posting, I will discuss some of the RED issues; those that can't be easily fixed and may require an application upgrade.
Thursday, 17 September 2009
The 1st hit is free.... Ahhh
This service (http://free.appcompat.net ) allows you load an application through a web-page and received an automated assessment of the potential compatibility issues your application package may encounter.
Here is a sample of one of the reports.
And, if you are looking for more detail, the automated application compatibility report provides detailed remediation information including the following detail;
- Windows 7
- Microsoft App-V
- Office 2007
- Microsoft Internet Explorer 8
Found here: http://shop.appcompat.net/v/vspfiles/assets/images/report%20interpretation%20guide%20v4.pdf
And, as a bonus, it looks like the 1st try is for Free. Give it a go at: http://free.appcompat.net/
Tuesday, 15 September 2009
Virtual PC .. Windows 7 ...Sigh...
The last thing you want is to have a machine filled with applications installs that FAIL to do most of the above (I admit, the nature of the result of some of my work). So, I built a virtual machine, as you would, I am sure you would. Note: I am repeating myself - because I have just lost a significant part of my mind, and possibly my soul.
Here is why. Created a Virtual PC machine. Installed Windows 7 as a GUEST build. So far so good. Note: I am doing on this work on a Windows 7 host machine. On the guest (Virtual PC machine) I tried to install the Virtual PC tools and drivers. These are the tools that are shipped with Virtual PC to allow for increased functionality and little things like being able to work across Remote Desktop Session (RDP) and having the ability to Drag'n'Drop files onto a target Guest Virtual machine.
Well, Under Windows 7, installing these default tools, utilities and drivers generated a Blue Screen of Death. So, I did a restore ... Back to the original state . This worked OK.
Thinking about this for a while... I thought to myself... Hey, I should be using the latest Virtual PC software from Microsoft. This thought was also associated with vague hope that "a later version" would solve this issue and offer something new/better.
So, I downloaded the Virtual PC from the Microsoft website (look here: http://www.microsoft.com/windows/virtual-pc/download.aspx)
Hint: I didn't read the instructions.... Oh, now the tale of woe begins...
I rushed ahead and installed the new update (a MSU package) with the drunken glee of a techie with a new download.
Now, this is where life becomes difficult/interesting. As this update is not a MSI, the installation of this new Virtual PC application does not show in the Add Remove Control Panel Applet (ARP). So, wait for it.
You can't uninstall it. Yes, maybe you can - I am just not smart/informed/good-looking enough to bribe someone to help me.
I repeat - You can not Un-install this update. This is important. Besides, breaking all of the principles I hold true about application installations (i.e. Install/update/un-install) this just comes as a nasty shock.
Because, now I have read the instructions on the Virtual PC web-page. You need to ensure that your hardware supports virtualization. There is a simply (but, surprisingly large and complex) application from Intel that will let you know the good or bad news .
Look here for this Intel applet: http://www.intel.com/support/processors/tools/piu/
Does my machine support virtualization? Does it? No! It does not.
Too late...
That's OK, I can just run Virtual PC 2007. It ran before... Just slowly...
This is what I got...
So, with some hope, I clicked on the "Check for Solutions Online" button.
I got...
Meaning now... Both versions of Virtual PC do not work on my machine.
Luckily, I have an inkling on how the Program Compatibility Assistant (PCA) works. It identifies executables through a complex algorithm of filename, header information and file date/time/size data. Luckily, for me you can change the EXE name for Virtual PC and fool PCA.
A simple work-around for the simple minded
Moral: There are two morals to this story:
1) At least passing a wincing eye over the instructions. Especially, if they include words like "Important" or have big orange boxes around them.
2) Be very careful with MSU application installations. I suggest that you install them on a Virtual PC first. :)
Monday, 14 September 2009
Windows 7 - BSOD
All friends and family have got a new build. Windows 7 is on desktops, laptops and my daughters netbooks.
However, now that I am getting into the 20-30 system range... I am finding some problems. And, very surprising its not application compatibility but more system level compatibility issues - I think. The problem is, I am now getting little hints of that blue gremlin... Blue Screens of Death (BSODS).
Yes, BSODS.
Three separate cases now...
The 1st: A laptop (2 years old), with a fresh install... Was sitting there... Doing nothing for about 3 days. Then during a teleconference, I spotted a flash from the corner of my eye. And, BAM! The machine flipped me with a BSOD. The machine power cycled with repeated blue screens until I powered the poor little guy down and rebuilt it... And, this is Windows 7 RTM.
The 2nd: My laptop. It's a VAIO (which some may think that I get what I deserve). 2 weeks with the RTM build. A Blue Screen, a reboot and then the message, "Install Missing Operating System". That was a bad day for daddy.
The 3rd: The current/latest version of Microsoft Virtual PC hates my copy Windows 7 RTM. I can create a build no problem. It runs fine, until I try to install the Virtual PC support tools. Then 100% repeatably (is this a word??), I can generate a BSOD.
Of course, there are people out there who have the same refrain whenever I complain; "Can you show me an example?"
And, today the answer is, "Yes, I most certainly can"
Friday, 11 September 2009
Patch Tuesday Update - September 2009
Testing Summary
- MS09-045 : Marginal Impact (both Package level and dependencies) detected across portfolio.
- MS09-046 : Marginal Impact (both Package level and dependencies) detected across portfolio.
- MS09-047 : Marginal Impact (both Package level and dependencies) detected across portfolio.
- MS09-048 : Marginal Impact (both Package level and dependencies) detected across portfolio.
- MS09-049 : Marginal Impact (both Package level and dependencies) detected across portfolio.
Patch Name | Total Issues | Matches Affected | Reboot | Rating | RAG |
---|---|---|---|---|---|
Microsoft Security Bulletin MS09-045 | <1% | <1% | YES | Critical | |
Microsoft Security Bulletin MS09-046 | <1% | <1% | YES | Critical | |
Microsoft Security Bulletin MS09-047 | <1% | <1% | YES | Critical | |
Microsoft Security Bulletin MS09-048 | <1% | <1% | YES | Critical | |
Microsoft Security Bulletin MS09-049 | <1% | <1% | YES | Critical |
Legend:
No Issues Detected | |
Potentially fixable application Impact | |
Serious Compatibility Issue |
Security Update Detailed Summary
MS09-045 | Vulnerability in JScript Scripting Engine Could Allow Remote Code Execution (971961) |
Description | This security update resolves a privately reported vulnerability in the JScript scripting engine that could allow remote code execution if a user opened a specially crafted file or visited a specially crafted Web site and invoked a malformed script. If a user is logged on with administrative user rights, an attacker who successfully exploited this vulnerability could take complete control of an affected system. An attacker could then install programs; view, change, or delete data; or create new accounts with full user rights. Users whose accounts are configured to have fewer user rights on the system could be less impacted than users who operate with administrative user rights. |
Payload | Jscript.dll |
Impact | Critical |
MS09-046 | Vulnerability in DHTML Editing Component ActiveX Control Could Allow Remote Code Execution (956844) |
Description | This security update resolves a privately reported vulnerability in the DHTML Editing Component ActiveX control. An attacker could exploit the vulnerability by constructing a specially crafted Web page. When a user views the Web page, the vulnerability could allow remote code execution. An attacker who successfully exploited this vulnerability could gain the same user rights as the logged-on user. Users whose accounts are configured to have fewer user rights on the system could be less impacted than users who operate with administrative user rights. |
Payload | Triedit.dll |
Impact | Critical |
MS09-047 | Vulnerabilities in Windows Media Format Could Allow Remote Code Execution (973812) |
Description | This security update resolves two privately reported vulnerabilities in Windows Media Format. Either vulnerability could allow remote code execution if a user opened a specially crafted media file. If a user is logged on with administrative user rights, an attacker who successfully exploited this vulnerability could take complete control of an affected system. An attacker could then install programs; view, change, or delete data; or create new accounts with full user rights. Users whose accounts are configured to have fewer user rights on the system could be less impacted than users who operate with administrative user rights. |
Payload | Wwmvcore.dll |
Impact | Critical |
MS09-048 | Vulnerabilities in Windows TCP/IP Could Allow Remote Code Execution (967723) |
Description | This security update resolves several privately reported vulnerabilities in Transmission Control Protocol/Internet Protocol (TCP/IP) processing. The vulnerabilities could allow remote code execution if an attacker sent specially crafted TCP/IP packets over the network to a computer with a listening service. Firewall best practices and standard default firewall configurations can help protect networks from attacks that originate outside the enterprise perimeter. Best practices recommend that systems that are connected to the Internet have a minimal number of ports exposed. |
Payload | Tcpip.sys, Tcpip6.sys, W03a3409.dll, Ww03a3409.dll |
Impact | Critical |
MS09-049 | Vulnerability in Wireless LAN AutoConfig Service Could Allow Remote Code Execution (970710) |
Description | This security update resolves a privately reported vulnerability in Wireless LAN AutoConfig Service. The vulnerability could allow remote code execution if a client or server with a wireless network interface enabled receives specially crafted wireless frames. Systems without a wireless card enabled are not at risk from this vulnerability. |
Payload | L2sechc.dll, L2sechc.mof, Gatherwirelessinfo.vbs, Gatherwirelessinfo.xslt, eport.system.wireless.xml, Rules.system.wireless.xml, Wireless diagnostics.xml, Wlan.mof, Wlan.tmf, Wlanapi.dll, Wlanhlp.dll, Wlanmsm.dll, Wlansec.dll, Wlansvc.dll |
Impact | Critical |
Monday, 7 September 2009
Apple-Compatibility
OK, I have neither the authority or experience to speak about compatibility on the topic, "All things Mac... Or, Apple".
However, Apple's latest release of their operating system seems to be getting some good press. Apple "pipped Microsoft to the post" with a 2-month lead on their operating system update that could have been a PR disaster or a major coup.
With the Windows 7 release just a few months away, pervasive and serious application compatibility issues with Apple's latest release (Snow Leopard) could deliver Microsoft a real "launching point" for Windows 7. (no pun intended)
Well, so far Snow Leopard, (which is a major upgrade) has had pretty good reviews for application compatibility. CNET's Rafe commented that some applications had compatibility issues ( look here: http://news.cnet.com/8301-30685_3-10319839-264.html). But, given the nature of changes to the operating system, I think that news on application compatibility for this platform has been quite good.
Just like Microsoft did, Apple has posted an update on what applications have been listed as non-compatible with Snow Leopard here: http://support.apple.com/kb/HT3258.
Note: that there are far fewer applications on the Apple list than on the 1600 item strong non-compatible list for Microsoft. You could argue that more applications are available in the Microsoft eco-system that in the MAC world - and therefore this list larger Microsoft list is merely a proportionate representation of applications that will have trouble running or loading under Windows 7 and Vista.
On the "bad news side of things", Stephen Wildstrom posted the following complaints against the Snow Leopard update process; (http://www.businessweek.com/the_thread/techbeat/archives/2009/09/snow_leopard_ho.html)
- Apple should have provided a pre-upgrade compatibility checker like the one Microsoft offers for Win 7. This would have allowed people to find out what wouldn’t work and then make a choice whether they wanted to upgrade or wait.
- Apple needed a public beta with a release candidate to detect the sort of problems that are turning up now but apparently did not show up in the tightly controlled betas.
- Apple did not give third-party software and hardware vendors enough time with the final code before general availability. Microsoft released Windows 7 to manufacturing at the end of July with general availability on Oct. 22. Apple sent out final code about week before Snow Leopard went on sale.
And, Apple does not have the Application Compatibility tool-kit (ACT), which would have solved all of their compatibility issues, now and forever, for everyone, for free, for what ever... (sorry, to be a little mean here.)
Tuesday, 1 September 2009
Is your Web-App good enough?
And, I am surprised by three things;
How complex getting a Web-App working on both server and client really is
How many companies/organizations are moving a web based application portfolio
The layered stack (OS/Middleware/Security/Application) is more important than I thought
This is a huge topic, for which Microsoft has ladled out copious quantities of documentation on IE compatibility including samples and scriplets. The best place to start is the Microsoft MSDN compatibility "Start Page" located here: http://msdn.microsoft.com/en-gb/ie/dd433173.aspx.
Even better, here is the link for the developer compatibility site for IE8 on Microsoft's Developer Network (MSDN):
http://msdn.microsoft.com/en-us/library/dd565632(VS.85).aspx
Having to start somewhere, in determining if your application is compatible with Internet Explorer 8, you can see if your web site is in the "Sin Bin"... Or the more diplomatically, your website has been included in Microsoft's non-compatible web-site list. At last count, there were over 3,400 sites included in this "Bad Web manifesto".
You can download the Microsoft XLS spreadsheet that includes these sites from here: http://go.microsoft.com/fwlink/?LinkId=145413
To find out more about the IE8 compatibility view and this list, look here: http://msdn.microsoft.com/en-us/library/dd567845(VS.85).aspx
This list is updated roughly every two months (apparently in sync with Microsoft Security updates on Patch Tuesday). If you have already installed IE8, then could see the XML representation of this list simply by typing the following URL into the IE8 browser windows; res://iecompat.dll/iecompatdata.xml
Here is a brief sample of the "Bad" websites generated by loading this local RES URL on my laptop with IE8 already installed;
118114.cn
11st.co.kr
120ask.com
1234567.com.cn
12354.com
123flashchat.com
123greetings.com
123hjemmeside.dk
123mua.com.vn
123video.nl
12530.com
126.com
1616.net
163.com
17173.com
17k.com
17kunlun.com