Friday 31 October 2008

Photoshop crashes on XP x64 when opening/creating a new image

If you run Photoshop on XP 64 bit, and you have a network printer set as your default one - there is a good chance it will crash everytime you try and open or create a new image, it gives these details:

Error Signature
AppName: photoshop.exe
AppVer: 10.0.1.0
ModName: gdi32.dll
ModVer: 5.2.3790.4237
Offset: 0000205b2

The simple workaround is to put a local printer as your default printer, as suggested here: http://www.coolasblog.com/2008/05/photoshop-crashes-on-windows-x64-os.html many people, if they had no local printers to set, would set something like a PDF printer as the default one.

I didn't want to have to do this though, as all my other apps like Word, Excel need to print to one of the networked printers here in the office. For some people in a large office it would be a real waste of time to locate the printer they need each time if it wasn't set as the default one.


The Solution

I found a work around, which involves adding a network printer - but as a local printer. It goes like this:

1) Open Control Panel

2 )Open Printers and Faxes

3) Choose Add a printer

4) Add a local printer (untick plug and play)

5) Create a new port

6) Choose Local Port

7) Type in \\remotemachine\printershare (i.e. \\server\hp-laserjet)

8) Select the print driver (click Have disk, then browse to the drivers for your OS, you will need to download these drivers from the manufacturers website first, and normally extract the .exe setup file to a folder where you will fine a .inf file the installer needs)

9) Enter the name of the printer and finish. 

This gives you the best of both worlds, you can now set a network printer as your default one, and photoshop won't crash!

Thursday 30 October 2008

"Send to Mail Recipient" in XP x64 with Thunderbird

I recently moved over to using Windows XP x64 edition, although I read in many places it can be a pain in many respects, I really needed to start using more than the 3GB or so of RAM 32-bit lets you use. Along the way I have found a lot of annoyances and things that just don't work as they should. Slowly I'm trying to find workarounds and other methods to use XP as I need to, and am used to, and I will post these on this blog to hopefully help other people.

One thing that I use a LOT is the "Send to" and then "Mail Recipient" to very quickly send files as an attachment via email. If you have never used this before - give it a go - it's very useful! If you are reading this though, chances are you already use it and want to use it in XP x64.

The problem is, that being 64 bit, x64 won't "play nicely" with 32 bit apps. If you use a 32 bit email client like Thunderbird then no matter what you do, this will not let you send files to be attached with Thunderbird. Instead it will use Outlook Express, which is a native 64 bit app. I spent a LONG time searching and found no workaround for this, so I made my own.


The Solution

It's fairly simple, it involves a .vbs (Windows Script) and a shortcut in the "SendTo" folder.

To try it yourself, repeat the following:

1) Create a new file called "catch_send_to.vbs", I placed this in c:\Program Files (x86)\Mozilla Thunderbird\

2) Open this file in notepad, and paste in the following code:

' Init variables
Dim i, files, cmd, attach

' Get reference to files passed by "Send to" method
Set files = WScript.Arguments

' Set up window object
Set WshShell = WScript.CreateObject("WScript.Shell")

' Set command to open Thunderbird
cmd = """C:\Program Files (x86)\Mozilla Thunderbird\thunderbird.exe"" "

' Form command to attach files - header
attach = "-remote ""xfeDoCommand(composeMessage,attachment='"

' Loop through arguments and add files to attach
i = 0

Do Until i = files.length

' Update the string
attach = attach & "file:///" & files(i)

' Insert a comma if needed
If i < files.length Then
attach = attach & ","
End if

' Increment i
i = i + 1

Loop

' Form command to attach files - footer
attach = attach & "')"""

' Run command to compose a new message and attach the files
WshShell.Run cmd & attach

3) Save your file with this code. Now go to your SendTo folder, this will be at c:\Documents and Settings\SendTo

4) In this folder, right click and click "New" and then "Shortcut". For the location paste in:

c:\Program Files (x86)\Mozilla Thunderbird\catch_send_to.vbs

Click "Next", call it something like "Thunderbird", and finally click "Finish"

This will add a new item to your Send To menu called Thunderbird, use it like you would use the "Mail Recipient" and it will do the same job!

Any comments/questions/feedback would be appreciated.