I am running Photoshop CS5.1 on a compiled version of wine(1.8.3 - latest stable).
Installation summary
1) Compiled and installed wine 1.8.3 (wow64)
2) Installed Photoshop on a windows 7 workstation and copied files over
3) Created a wine bottle for PSCS5.1
Issue
If I run phostoshop as a root user, it initiates and runs fine without any problem. However if I run the same wine bottle script as a regular user, I get this error during PSSC5.1 initialization phase -> "Could not initialize Photoshop failed to initialize CoolType". Initially I thought it might a permission problem with either PSCS5.1 files or the wine binary, however (777) both does not work either. Usually I am able to figure these stuff out but I am a total loss here. One more note: running a 64bit wine binary doesn't help either.
I am trying to get Photoshop and ZBrush to run on linux to avoid using Windows in our production environment. Any help will be greatly appreciated.
Wine Bottle
#!/bin/bash
PHOTOSHOP_PATH="/opt/pscs5"
PHOTOSHOP="C:\Program Files (x86)\Adobe\Adobe Photoshop CS5.1\Photoshop.exe"
WINE_PREFIX="${HOME}/.pscs50"
WINE="/opt/wine/bin/wine"
WINETRICKS="/opt/wine/bin/winetricks"
# build wine environment (wine bottle)
export WINEPREFIX=${WINE_PREFIX}
if [[ ! -d ${WINE_PREFIX} ]]; then
echo "building Photoshop environment"
# build dos device symlinks
mkdir -p "${WINE_PREFIX}/dosdevices"
ln -s "${WINE_PREFIX}/drive_c" "${WINE_PREFIX}/dosdevices/c:"
ln -s /var/tmp "${WINE_PREFIX}/dosdevices/l:"
ln -s ${HOME} "${WINE_PREFIX}/dosdevices/y:"
ln -s / "${WINE_PREFIX}/dosdevices/z:"
# build fake windows root. symlink to photoshop install on in /opt/Photoshop_CS5
mkdir -p "${WINE_PREFIX}/drive_c"
mkdir -p "${WINE_PREFIX}/drive_c/users/${USER}/Temp"
cp -r ${PHOTOSHOP_PATH}/users "${WINE_PREFIX}/drive_c/"
ln -s "${PHOTOSHOP_PATH}/windows" "${WINE_PREFIX}/drive_c/"
ln -s "${PHOTOSHOP_PATH}/Program Files" "${WINE_PREFIX}/drive_c/"
ln -s "${PHOTOSHOP_PATH}/Program Files (x86)" "${WINE_PREFIX}/drive_c/"
# copy system reg into PREFIX
cp /opt/pscs5/ps51system.reg ${WINE_PREFIX}
cp /opt/pscs5/ps51user.reg ${WINE_PREFIX}
# dummy run to finalize wine environment
${WINE} cmd /c echo "build successful!" 2>/dev/null
fi
sh ${WINETRICKS} -q gdiplus atmlib msxml3 msxml6 vcrun2005sp1 vcrun2008 corefonts fontsmooth-rgb
exec=${WINE}
if [[ ! -x "${exec}" ]]; then
fatal "Cannot find executable: ${exec}"
fi
echo "Running: ${exec}"
exec "${exec}" "${PHOTOSHOP}" &
===============================================================
Here is the error from terminal
err
fixme:system:SetProcessDPIAware stub!
err:ole:marshal_object couldn't get IPSFactory buffer for interface {00000131-0000-0000-c000-000000000046}
err:ole:marshal_object couldn't get IPSFactory buffer for interface {00000122-0000-0000-c000-000000000046}
err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hres=0x80004002
err:ole:CoMarshalInterface Failed to marshal the interface {00000122-0000-0000-c000-000000000046}, 80004002
fixme:ntdll:NtSetInformationToken unimplemented class 24
fixme:ntdll:NtLockFile I/O completion on lock not implemented yet
fixme:gdiplus:GdipGetFamilyName No support for handling of multiple languages!
err:ole:CoGetClassObject class {4590f811-1d3a-11d0-891f-00aa004b2e24} not registered
err:ole:CoGetClassObject no class object {4590f811-1d3a-11d0-891f-00aa004b2e24} could be created for context 0x1
fixme:msvcrt:__clean_type_info_names_internal (0x65a59b0) stub
fixme:msvcrt:__clean_type_info_names_internal (0x61d8448) stub
fixme:msvcrt:__clean_type_info_names_internal (0x66459b0) stub
fixme:msvcrt:__clean_type_info_names_internal (0x65fa340) stub
fixme:msvcrt:__clean_type_info_names_internal (0x647d4f8) stub
fixme:msvcrt:__clean_type_info_names_internal (0x64bd760) stub
fixme:msvcrt:__clean_type_info_names_internal (0x65c5d08) stub
fixme:msvcrt:__clean_type_info_names_internal (0x67959b0) stub
fixme:msvcrt:__clean_type_info_names_internal (0x63c0adc) stub
fixme:msvcrt:__clean_type_info_names_internal (0x64c7548) stub
fixme:msvcrt:__clean_type_info_names_internal (0x6563f28) stub
fixme:msvcrt:__clean_type_info_names_internal (0x64942d0) stub
fixme:msvcrt:__clean_type_info_names_internal (0x63710d8) stub
fixme:msvcrt:__clean_type_info_names_internal (0x61deea8) stub
err:ole:create_server class {a1f4e726-8cf1-11d1-bf92-0060081ed811} not registered
err:ole:CoGetClassObject no class object {a1f4e726-8cf1-11d1-bf92-0060081ed811} could be created for context 0x4
fixme:msvcrt:type_info_name_internal_method type_info_node parameter ignored
.
.
and lot more of
fixme:msvcrt:__clean_type_info_names_internal (0x6f042d0) stub
fixme:msvcrt:__clean_type_info_names_internal (0x6f042d0) stub
.
.