Archive for the ‘Windows Tips’ Category

There are many users that already have a computer with processor that supports the  x64 architecture and some of them probably consider to move into the new world of 64-bit and install the x64 version of Windows.
if you’re one of these users, you should read the following tips before doing any step:

  1. First, let’s start with the good part:  The x64 version of Windows have an emulation known as “WOW64” which allows you to install, run and use almost every existing 32-bit application that you currently use in your 32-bit version of Windows.  I said the word ‘almost’ because there are some exceptions that will be explained in the next clauses.
  2. Device Drivers:  As opposed to applications, 32-bit drivers cannot be used under x64 version of Windows. This means that must have the appropriate 64-bit driver for every hardware product that you want to use.  For standard hardware products like simple mouse and keyboard, you don’t have to worry,  because Windows x64 already packed with the right drivers.  But if you use some uncommon hardware devices, you should check if the manufacturer of these devices provide x64 drivers for these devices.
  3. There are some applications that load and use one or more drivers that are needed for their functionality.  Just for example: Process Explorer and some other tools of SysInternals load their own driver that is used to extract information from Windows Kernel.
    These kind of tools won’t work under x64 system, unless the software developer  provide the software with the appropriate 64-bit driver. In the case of  SysInternals tools, there is no problem, because these tools are shipped with both 32-bit and x64 drivers, and the right driver is loaded according to the version of Windows.
    However, there are some software developers that only provide a driver for 32-bit, and thus their software won’t work under x64.
  4. Starting from x64 version of Windows Vista, Microsoft added a security feature that many people don’t know about:  Every driver that is loaded into Windows Kernel must be digitally signed. Signing a driver can only be done by a commercial entity and requires also to pay hundred of $ per year for the Commercial Software Publisher Certificate.
    Microsoft added this feature in order to prevent from malware/Viruses/Trojans creators from loading and running malicious code inside the Windows kernel. Unfortunately, they also blocked many legitimate small developers from porting their driver based application into 64-bit.
    One example is my own OpenedFilesView utility. This utility uses a small device driver for extracting information about the opened file handles stored in the Windows kernel. (There is no any other way to get this information)
    Due to above Kernel changes in Vista x64, I cannot port this utility into Windows x64.  I already had some users that moved  from 32-bit to x64 system and disappointed after they found out that they would not  be able to use my  OpenedFilesView utility in their new x64 system.
    In theory, I can open a real company with office, phone, and address, purchase a Commercial Software Publisher Certificate, do the entire process of signing my driver, and then sell the x64 version of OpenedFilesView for $10-$15. However, I don’t think that the sells of this software will cover the costs of maintaining a company and Certificate payments.
  5. There are  some applications that inject a dll file into other programs  (Windows Hooks) in order to interact with their user interface or to grab some information from them. For example, My Volumouse utility change the mouse wheel behavior when the focus is on other applications, and thus it inject a special dll for every application that interact with the mouse wheel.
    When you run this kind of application on x64 system, it’ll probably work well with other 32-bit application, but it won’t be able to interact with other x64 applications, unless the software developer added a support for x64 systems.
  6. Windows Registry on x64 version of Windows is a little confusing: Some of the Registry keys are common for both 32-bit and x64 applications, while some Registry keys have 2 separated instances – one for  32-bit applications and one of 64-bit applications. The separated keys for 32-bit applications are stored under HKEY_LOCAL_MACHINE\Software\Wow6432Node and HKEY_CURRENT_USER\Software\Wow6432Node.
  7. On x64 system, every memory address,  file handle, window handle, and other kernel objects, consume 8 bytes in memory (64-bit = 8 bytes), while on 32-bit systems, only 4 bytes are used. This means doing the same work on x64 might consume much more memory than on 32-bit system, even when in many cases, the usage of 8 bytes is not really necessary.
  8. Many applications vendors still don’t provide a separated 64-bit version of their application, and instruct their x64 users to use their 32-bit application. Even if the 32-bit application works perfectly on x64 system, it’s still running on WOW64 emulation, and this means that the application might  be a little slower than on a real 32-bit system.
    However, if the application vendor provide a separated version for x64, running the x64 version of x64 system might give you better performances than using the 32-bit application on 32-bit system.

In some circumstances, you may want to extract the original system files (.dll files, .exe files, and others) that are shipped with the DVD of Windows 7 and Windows Vista.
Whether you need these files because they are missing in your system, or whether these file were replaced by other versions that caused problems, and you want to get back the original Windows files, here’s a simple method to extract these system files from Windows 7/Vista DVD:

  1. Download and install the latest version of  7-Zip File Manager.
  2. Browse into the sources folder of the Windows DVD. For example, if your DVD drive is d:, you should type in the folder path of 7-Zip utility ‘d:\sources’

    Sources Folder in Windows DVD

    Sources Folder in Windows DVD

  3. Locate a file named ‘install.wim’ and double-click it. You can easily find it by clicking the size column header to sort the files list by size, because it’s the largest file on this folder.
    Alternatively, you can simply type ‘d:\sources\install.wim\’ in the path text-box, and jump directly to the content of install.wim.
  4. Wait 5 – 10 seconds (or a little more) until 7-Zip utility read the content of install.wim
    extract_windows_7_files_2
  5. After 7-Zip utility opens the file, you’ll get a few numbered folders. Each numeric subfolder represents a different version of Windows (Starter, Home Basic, and so on).
    In most cases, you can simply browser into any of these folders, because most of system files are identical for all versions.
    However, if you want to be more strict, and extract the files from the folder that represent your current Windows version, you can first extract and read the ‘1.xml’ file, which contains the list of versions stored in these folders.
    To make your life easier, here’s the folder versions list in the DVD of Windows 7 RC:
    1 – Windows 7 Starter
    2 – Windows 7 Home Basic
    3 – Windows 7 Home Premium
    4 – Windows 7 Professional
    5 – Windows 7 Ultimate

    This means that if you want, for example, to browse into the files list of

    Windows 7 Professional, you should double-click the ‘4’ folder.

    install.wim in 7-zip

    install.wim in 7-zip

  6. After entering into the one of the numeric folders, you’ll get a list of base system folders like ‘Program Files’ and Windows. You should now go to the right system folder which contains the files you need. For example, if the files that you’re looking for are usually stored c:\windows\system32, you should browse into Windows\System32 subfolder

    System32 folder inside install.wim

    System32 folder inside install.wim

  7. Select the files that you want to extract, and then click the ‘extract’ button. 7-Zip utility will ask you to type the destination folder to copy the files. After you choose or type the desired destination folder, click the ‘Ok’ button, and the files you need will be extracted to the selected folder.
    extract_windows_7_files_4

Finally, if you are an expert user that want to do the same thing from command-line, here’s a small example that shows you how to do it:

“C:\Program Files\7-Zip\7z.exe” e d:\sources\install.wim -oc:\temp 2\windows\system32\shell32.dll

In the above example, shell32.dll is extracted from the installation files of Windows 7 Home Basic (Folder 2) into c:\temp folder, assuming that d:\ contains the Windows 7 DVD and 7-Zip utility is installed on C:\Program Files\7-Zip.