Category Archives: windows

Installing Kodak All-in-One Printer driver on Windows 8

I have been busy upgrading computers to Windows 8 now that the RTM is available. So far so good, though I ran into a problem with a printer which, oddly, worked fine in the Windows 8 Release Preview.

The printer is a Kodak All-on-one. Kodak has a universal installer for all its all-in-one printers. When I ran this, I got a message that .NET Framework 2.0 was needed and would be updated.

image

It would then try to install .NET 2.0, but fail.

Easy, I thought, just install .NET first. In Windows 8, you do this through Control Panel – Programs – Turn Windows features on or off.

image

I installed .NET Framework 3.5, which includes 2.0, and re-tried the Kodak printer install. Same message, same error.

I also tried running the installer in compatibility mode for Windows 7 and Windows XP. No go.

Time for some serious troubleshooting. I presumed that if I could figure out what the installer was looking for when it failed to detect .NET Framework 2.0, I could fix it.

First, I checked the official instructions for detecting .NET in an installer. This was already correct.

Next, I downloaded Process Monitor to see if I could spot the registry query or file search the installer was making. I noticed that aio_install.exe, the Kodak installer, unpacks a setup into a temporary location and runs from there. I copied the extracted files and ran the setup. Using Process Monitor, I discovered a registry query to HKCU\Software\Kodak\BootStrapInstallStatus and the REG_DWORD key InstallStatusKeyForDotnet. This was currently set to 1. In a spirit of experimentation I changed the 1 to a zero.

image

Next I re-ran setup. It worked perfectly.

image

I still do not know why that registry key was set, but I am not inclined to pursue it further. Possibly if .NET Framework 2.0 is already installed before you run the Kodak installer for the first time, the problem does not arise.

If you encounter this problem though, I suspect the following two steps will be sufficient:

1. Install .NET Framework 3.5 using Control Panel.

2. If installing the printer driver fails, check for the registry key HKCU\Software\Kodak\BootStrapInstallStatus\InstallStatusKeyForDotnet and set it to 0.

Windows 8 release now available; you should install it

Windows 8 is now available for download on MSDN and TechNet, which means the final code is in the hands of a large number of Microsoft-platform professionals. I have been trying out the release, which I installed both as an upgrade over the Release Preview (it does not really upgrade it, but does keep a few settings and documents), and as a clean install on a virtual machine.

The first thing I noticed was the default settings:

image

You can click Customize to get more information and control over these settings, and I recommend that you do. The one that troubles me most is:

Let apps give you personalized content based on your PC’s location, name, and account picture.

I am not sure how the picture helps with that, but presume it is code for giving apps permission to use it and potentially to share it. The matter of sharing location is difficult; it certainly makes sense for numerous apps from Weather to TripAdvisor; but allowing third-parties to track your physical location is a big ask. Still, if you want the full experience you have to compromise your privacy; that is the choice.

Next I was interested to see what guidance Microsoft would give to new users. This appeared just after setup and before the Start screen is shown for the first time, and takes the form of one or two short but insistent animations:

image

When I installed on a tablet, I got a second animation about swiping in from the sides.

It seems to me that Microsoft is trusting too much that users will enjoy “discovering” the Windows 8 user interface. Perhaps some will; but I was expecting to be offered something like a video and an introductory manual. I think users will click past this and still get stuck.

Next, I noticed the new aero-less desktop theme.

image

I do not have strong feelings about this, but admit to some puzzlement about why Aero translucency has gone. Power consumption is a possibility, but why not offer it as an option for desktop users, for example? Still, this is a small detail as far as I am concerned.

Microsoft has chosen a flower for the default desktop background, not unpleasant though a bold choice in some ways. A flower is a strong, evocative image that some will therefore react against, given that a desktop background can be a sort of personal statement.

image

Not many desktop backgrounds are supplied on the install DVD. There is a Flowers theme and another called Earth, which I found rather bleak.

image

The default lock screen is a painting based, I think, on the Seattle Space Needle.

image

Disappointments? My biggest disappointment is with the RTM Store. I was hoping for a host of new applications, but in fact the Store, while containing a few new apps, is still sparsely populated.

image

This is a problem for Microsoft because Windows 8 badly needs a few compelling apps to persuade doubters that Metro, sorry Modern UI, is not worthless. I love Wordament, yes, but in general we still await great Windows 8 apps.

The best news, I guess, is that I have little to say about the install process. It was smooth, quick, and it worked. No unknown devices in Device Manager on the Samsung Slate; but I realise that this is the one device that everyone has been using to test Windows 8, so I guess this is not surprising. Not all PCs will fare so well.

Businesses should of course be cautious about rolling out a new version of Windows (and will be); and anyone installing this on a machine they use for real work will naturally take a backup first, in case of disaster or just some essential application not working.

If you can though, you should install this new release. Performance is good, it is a decent upgrade from Windows 7 even if you do not use a tablet, and it is only by using it for a while that you will get a feel for the strengths and weaknesses of Microsoft’s new operating system.

Windows 8 RTM: it’s better than you may have heard

Poor old Microsoft. Windows 8, the reimagining of Windows, is getting a mixed reception. There is a kind of alliance, with those who you would expect to oppose Microsoft (open source advocates, Apple enthusiasts and so on) lining up with Windows diehards who dislike too much change. Like Windows stalwart Woody Leonhard (remember those endless Office tips?) who says, under the headline Windows 8 review: Yes it’s that bad:

From the user’s standpoint, Windows 8 is a failure — an awkward mishmash that pulls the user in two directions at once. Users attracted to the new touch-friendly Metro GUI will dislike the old touch-hostile desktop underneath. By the same token, users who rely on the traditional Windows desktop will dislike having to navigate Metro to find settings and apps they intuitively locate in Windows 7.

He adds:

I can confirm after months in the trenches and talking with many hundreds of testers that anyone who defines "real work" as typing and mousing won’t like Windows 8 one little bit.

I disagree. In fact, I had the opposite experience. I installed Windows 8 Release Preview for a non-technical friend, on an old laptop with no touch capability, and was so sure that she would dislike it that I kept the backup image of her Windows 7 install ready to zap it back on.

It did not happen. She was flummoxed at first of course, but after pinning a few applications to the taskbar and learning how to navigate Start, she was fine. All her old desktop apps still work and she cannot see what the fuss is about. Now and again she pops into Modern UI land and plays a game or uses the Facebook/Twitter integration in the People app and it is not a problem.

This has made more impression on me that my own experience, which I tend to discount being used to the bleeding edge. I should mention though that I have no desire to go back to Windows 7, even on my desktop. I like the speed of Windows 8; I like having Hyper-V; I like having the taskbar on both my displays, and it works fine.

I also have Windows 8 on the Samsung Slate which I bought last year, and words cannot describe how much better it is than Windows 7 on the same device. That said, I cannot really recommend the Samsung; its battery life is too short, its design falls short in several places, and it is too expensive to be a mainstream hit. However, it has given me a feel for how well the Windows 8 UI works on a tablet.

My view is this. Windows 8 has plenty of failings, but they are the failings of transition to a better place, not the failings of something that will never work properly. Most of the problems which rile people so much can be fixed with a small amount of effort and perhaps a read of a survival guide. I did one, and there are others just as good or better.

It seems to me to be simply dishonest to portray Windows 8 as this horrible thing that is a nightmare to use. I do not have any evidence for that, beyond the initial painful moments that I have seen at first hand. I do realise that someone might be so much put off by those initial moments that they never want to touch it again, and will declare the same to anyone who will listen, but regard it as my job, as a technical communicator, to help users get past that towards a fairer judgment.

image

Windows 8 is ready, but many of its users are not.

Why I want a Windows RT (ARM) tablet

Microsoft has now announced that the first Windows RT tablets will come from Asus, Dell, Lenovo, Samsung, and from Microsoft itself with Surface.

image

Windows 8 on ARM is a different thing to Windows 8 on Intel. On Intel, most Windows applications will run. On Windows RT, the ARM version, only Windows Runtime apps (also known at Metro-style, Modern and Windows Store) will run. There is still a desktop mode, but it is reserved for a special version of Office along with a few utilities like Explorer.

On the face of it, the Intel version is a better deal, because “you get it all.” However, there are times when less is more; in fact, that phrase practically defines the success of Apple’s iOS, which does not run applications coded for Mac OS X.

The problem is this. On a tablet, the Windows desktop is a horrid experience, unless you get out not only your tablet, but also your keyboard and your mouse or stylus. Even the stylus can be a problem, and having lived with Windows 8 on a Samsung Slate tablet for some months, I find a mouse works best.

We have seen this before, with the old Windows tablets starting with Windows XP. OEMs came up with clever designs with twist screens and styluses which clip into the side. These machines certainly have their uses, but they were not mainstream and they were not cheap. Intel Windows 8 tablets will have all the same problems. The poor experience offered by the Windows desktop user interface with touch was a key reason why Microsoft came up with the radical WinRT alternative.

Windows RT on the other hand promises a better tablet experience. with the additional bonus of longer battery life and a lighter, more efficient device. You cannot install desktop apps, but if the Windows 8 ecosystem fails to come up with WinRT apps to cover the essential computing activities, then the Windows 8 project will have failed in its goals.

There is also Microsoft Office of course, which makes some effort to support touch control though it could be better. Still, I would rather have Office which at least has been designed with the knowledge that some users will be controlling it with touch, than all those other desktop applications which presume keyboard and mouse.

The importance of having Office there is that it makes the difference between having to have a laptop with you as well while on the road, and being able to get all your work done on the tablet alone.

This issue does not seem to be well understood either by Microsoft’s OEM partners nor by the general public. I do not blame the latter. On the high street or at the airport, there will be rows of Windows 8 tablets with similar Start screens, and the difference between Windows RT and Windows Intel will be hard to convey. I can imagine salespeople saying, “You should get this one, it is the full Windows,” and steering customers towards the awkward, confusing experience that is Windows 8 on an Intel tablet.

One disappointing remark buried in the announcement:

Over 90% of the RTM applications in the Windows Store support Windows RT

That means 10% of WinRT apps currently do not support ARM, presumably because there is some native x86 code in there.

Microsoft really, really wants developers to build Windows Runtime apps

Or should that be Metro-style apps? or Modern UI apps? or Windows Store apps?

I am not sure; but one thing jumps out at me as I look at the Windows 8 development platform. Microsoft is doing all it can to push developers towards Windows Runtime (WinRT) rather than desktop development.

Here is a small piece of evidence. The contentious new Start screen uses tiles for application shortcuts. These can be static images and text, or live tiles that update with current information. There is only one Start screen though, so desktop apps also have tiles which you click or tap to launch the app in question.

However, there is no documented way for desktop apps to have good-looking tiles. Here is the tile for Excel 2013, for example:

image

It is mostly wasted space. A WinRT app on the other hand can fill that space:

image

or display a picture

image

or take up a double space

image

The question: how difficult would it have been for Microsoft to allow desktop apps to have pretty tiles? I can understand why desktop apps cannot have live tiles, but there is no technical reason I can think of why desktop apps could not have a resource used for a decent tile.

Here is the official answer though, from Microsoft’s Rob Caplan:

Desktop apps cannot customize their tiles and will always use the icon and name from their shortcut.

I guess Microsoft can argue that it wants users to know whether they are about to launch a desktop app or a WinRT app. This could easily be done with a little overlay signifying the desktop. There was no need to ensure that all tiles for desktop apps look ugly.

Except that Microsoft wants these tiles to look ugly. Because it wants you to develop WinRT apps, not desktop apps, and is even willing to have its own Office tiles look bad for the sake of the cause.

Update

This post was picked up by Reddit and of course there are some interesting comments. First, the desktop tiles are improved in the RTM build of Windows 8 (my screenshot above is from the Release Preview):

image

Second, here is a comment apparently from a Microsoft employee:

Wow, what a flimsy argument. The funniest thing about it, though, is that the desktop tiles look MUCH better in the RTM build (though customization is still left to Modern apps). Can’t seem to find a screenshot though.

But on the other hand, of course we want people to develop Modern apps. That’s why we built the platform. But the desktop tiles aren’t a part of that at all.

If I were the author, I’d bring up Contracts as a much better example. Desktop apps can’t support the Share Contract, or Search, or whatever; only Modern apps can. Of course, there’s no telling if this is simply a v1 limitation or a longer strategy; even I have no idea (I’ve only been at the company a little over a year). If we waited to release Windows until we had implemented everything we wanted to do, it wouldn’t come out for years. We have to draw the line somewhere.

Disclaimer: these are my thoughts, not the company’s.

In defence, I presented this only as a “small piece of evidence”.

Note the use of the term “Modern apps”.

Microsoft toughens logo requirements for Windows 8, forbids startup apps

Today I came across the certification requirements for Windows 8 desktop apps. This is the successor to the Windows 7 Logo program, and represents a set of best practices required for software to display the official Windows logo.

In practice, I am not sure how many buyers check that software is certified before buying, though it might make sense for businesses to do this as a matter of policy if they want keep Windows desktops running smoothly and safely.

The requirements are also interesting as a guide to what Microsoft considers to be well-behaved applications.

The new requirements are tougher than before. Some guidelines that were in the “Beyond Windows 7” section in the previous logo program have now moved to become full requirements. Others seem to be completely new.

Here are some highlights:

  • Your app must not depend on any Windows compatibility feature, nor the VB6 runtime.
  • Apps may not start automatically on startup. You may not set the “run” registry keys nor install a shortcut into a startup folder.
  • Apps must use “strong and appropriate ACLs” to secure executables, directories and registry keys.
  • Apps must be compiled with /SafeSEH (safe exception handling), /NXCOMPAT (no data execution) and /DYNAMICBASE (random address space layout).
  • All executables must be signed with an Authenticode certificate – this was the same in Windows 7 but worth repeating.

The automatic startup prohibition is particularly intriguing. It could not be clearer:

10.2 Your app must avoid starting automatically on startup

I hate unnecessary startup applications too; but I do not object to all of them. My password manager runs on startup and sits in the notification area. Some of Microsoft’s own applications do this, for example Lync, Skype and SkyDrive. I would have thought auto-startup is acceptable if it is under the user’s control.

One factor may be that Windows 8 desktop apps do not auto-start on log-in even if you set them to do so. Instead, they start when the user clicks or taps into the Desktop. Therefore, in a sense none of the normal auto-start techniques are reliable.

There is a way round this, which is to install an autorun service.

In general, tough certification requirements are a good idea, though if they are too demanding the risk is that vendors will simply ignore them.

Notifications in Windows 8: how to display new-style toast from a desktop app

This post was prompted by the discussion over the fact that Windows 8 boots into the Start screen, and cannot apparently be modified to boot into the Desktop (though no doubt someone will find a way).

What if, I wondered, you put a desktop app into your startup folder so it runs automatically on boot? The answer: it runs on the desktop, but you will not see it until you click or tap into the desktop from the start screen. This is different behaviour from actually starting a desktop app from the start screen, which switches you to the desktop.

So what if that desktop app has something important to tell you? The answer: you will not see it until you switch to the desktop.

To demonstrate this, I wrote a Windows Forms app that displays a MessageBox alert after a 5 second delay. I ran the app, activated the alert, and switched to a Windows Runtime Metro app. When the alert fired, I heard a little ding, but saw no message. Only after switching to the desktop did I see the message.

image

To be fair, you might not see this even if you were working in the desktop, since Windows has complex (and sometimes unpredictable) rules about when apps are allowed to come to the foreground. Even calling the Activate method, which gives your window the focus, may do no more than flash the icon on the taskbar.

Windows 8 has a new-style “toast” notification mechanism that works across both desktop and Windows runtime. I got this working in my Windows Forms app.

image

So how do you do this? For some background, see Jim O’Neil’s series of posts which start here. However, I mostly used code from the sample Sending toast notifications from desktop apps. This is a WPF application, but I got the code to work in my Windows Forms application. Note that to reference Windows.UI.Notifications you have to add a reference to:

C:\Program Files (x86)\Windows Kits\8.0\References\CommonConfiguration\Neutral\Windows.winmd

Update: in the release version of Visual Studio 2012 the way you reference winmd has changed. See this MSDN article and the section called Core Subgroup; however at the time of writing the method described there does not quite work. Instead, proceed as follows. First right-click the project in the Solution Explorer and choose Unload Project. Then right-click the project again and choose Edit [project].csproj. Add the following to the project file after the other Reference elements:

<Reference Include="Windows" />

then save and close the editor. Finally, right-click the project name again and choose Reload project. Do not add the suggested TargetPlatformVersion element, since if you do the project will not compile.

You also need the Windows 7 API code pack which is here.

Here is a quick summary though. In order to display a toast notification, you first need a shortcut to your app on the Start menu. In addition, the shortcut has to have an AppUserModeId, which you can set in code.

Once that is sorted, you can use the ToastNotificationManager class – for which you need that reference to Windows.UI.Notifications – and retrieve a standard XML template for the notification. You can add event handlers to the notification, so you can respond if the user clicks it. Then call:

ToastNotificationManager.CreateToastNotifier(APP_ID).Show(toast);

to actually show the notification.

Note that your event handlers will not fire on the UI thread, so you need to use thread-safe methods if you want to interact with controls on your form.

It is all somewhat laborious, but on the plus side you get notifications which are better than the old notification area toast, and much better than MessageBox.

Note that this is one bit of code applications will only have if they are modified to work on Windows 8. That is worth noting if you have an application in which notifications play an important role.

image

Windows 8 is done, available August 15th with final Visual Studio 2012

Microsoft’s Windows chief Steven Sinofsky has announced the release to manufacturing of Windows 8:

The Windows 8 team is proud to share with you that a short while ago we started releasing Windows 8 to PC OEM and manufacturing partners.

image

The separate post by Brandon LeBlanc has more details. Microsoft’s developer (MSDN) and IT admin (Technet) subscribers will be first to get the new Windows, leaks aside, on August 15th. LeBlanc adds:

On August 15th, developers will be able to visit the Windows Dev Center to get access to all the tools and resources they need including the final build of Visual Studio 2012 to design, build, and sell apps in the Windows Store.

from which we learn that Visual Studio 2012 is also done, or will be by the 15th.

Windows Server 2012, which uses the same core code, has also been released to manufacturing, says Microsoft’s Jeffrey Snover:

the final code is complete and we are delivering it to our hardware and software vendor partners this week

The Windows Store is also open for business, kind-of. Antoine Leblond says that you can submit a Metro-style app from today, though you will need an RTM build to do so, so for most of us that will actually mean from August 15th. Apps can include free, paid-for, trials, and those with in-app purchases. Only Metro-style apps can be submitted for installation through the store, though desktop apps can be offered through a link to the vendor’s web site.

Windows 8 is a bold release. Despite pressure from existing Windows users, Microsoft has held firmly to its decision to abandon the old-style Start menu and to make the Metro side prominent for all users. There are several big unknowns:

  • How will users react to the changes? The early moments with Windows 8 tend to be difficult, and some may be put off completely.
  • How popular will Metro-style apps be, relative to traditional desktop apps?
  • How well will Windows 8 and Office 2013 really work on a tablet without keyboard or mouse?
  • What proportion of users will want the ARM version, Windows RT, as opposed to the familiar, messy world of x86 Windows?

I have used Windows 8 intensively for some months now, both on desktop and tablet. It works fine, and seems a little faster than Windows 7 on the same hardware. On a tablet, the Metro-style apps are delightful but few, but desktop apps are a bit of a struggle, which is one reason I am looking forward to Windows RT devices on which those troublesome desktop apps cannot be installed.

Should Microsoft have made such radical changes in Windows? That is open to debate; but check out this report on how tablets, mainly Apple iPads, are eating away at the PC market to understand why the company felt that “reinventing Windows” was its only option.

Windows 8 defeats booking.com virus

Someone trying out Windows 8 release preview brought her machine to me to look at. She was having trouble with an email attachment. The email was in fact carrying a virus, one that purported to be from booking.com though it had nothing to do with that company. The supposed booking is in an attached zip file which the victim is invited to open. My contact had opened the zip and attempted to run the contents, a windows executable. She could not remember exactly what happened but said that a dialog had appeared and she clicked OK.

Clicking OK is normally the wrong thing to do with a virus but not in this case. I had a look at the virus and uploaded it to Comodo’s online virus analyser.

image

This detected API calls that copy a file to the All Users folder and sets it to autorun. Comodo pronounced the executable “Suspicious+”.

But did it run? I tried it on an isolated virtual instance of Windows 8 Release Preview. Running the executable throws up this dialog:

image

If you click OK nothing happens. If you click More Info, it says that SmartScreen does not recognise the file and offers a Run Anyway option. However the user in this case did not click More info, but instinctively clicked OK, therefore not running the virus.

As a final experiment, I tried running the virus on the isolated machine. It deleted itself but did not seem to succeed in infecting the machine. It is hard to be sure though, so the virtual machine has now been deleted.

Observations:

Windows 8 did not detect the file as a virus. SmartScreen merely did not recognise the file. It would do the same for any unrecognised file, and I have seen this dialog appear for files that I do want to run.

Even when I ran the file, Windows Defender did not (as far as I can tell) detect the virus. The test machine was offline (for isolation) but fully up to date.

What interests me most is how SmartScreen interacts with the social engineering behind the malware. The user actually wanted to run the file, being convinced that it was genuine, but clicking OK simply did nothing. This behaviour is annoying if the application is not in fact malware, but clearly it can on occasion save the day.

BBC web site has a Metro look

The BBC redesigned its web site last year borrowing elements of Microsoft’s Metro design language, as seen in Windows 8, Windows Phone, and Office 2013. Note the tiles, the typography, the horizontal scrolling, the way elements stand out against a pale background.

image

The BBC site is the 5th most popular in the UK and 47th in the world according to Alexa.

This strikes me as a significant design win for Microsoft. One of the goals of redesigns is to make your stuff look fresh and modern, while other stuff looks dated, and it helps drive an upgrade cycle. 

Update: amended to clarify that the design update was last year. Details here and here. Also interesting to note considerable hostility from users. Another point of similarity with Windows 8!