I tried to copy the contents of C:\Program Files\Microsoft Visual Studio 
9.0\VC\redist\x86
as-is to the same directory that has my top-level EXE. This didn't work.

I also flattened it out, i.e. put all DLL's and manifest files in the same 
directory, and that didn't help either.

Is there anything else I need to do ?


Just to clarify, up until now, I had copied my Python executables to a network 
directory
and referenced these EXE's in various batch files used by other people within 
my company.
This always worked great. Nobody needed to install anything. Whenever I made an 
update, I applied it once to the
network copy, and the next time someone launched his batch-files, he picked up 
the fix.

Everything that I read on the internet, seems to be pushing for having every PC 
that wants to run the
executables at least run the vcredist_x86.exe.
Some articles suggest that I can store the DLL's in the same directory but that 
doesn't' work somehow.


Do I need to create a manifest file ?
Is there no other way to make this work without having to register stuff ?


When executing the application on a PC that does not have these DLL's, it 
really does not give any clue what was wrong
(at least on previous ocasions, it printed a message that it needed 
msvcrt71.dll).

Is there a way to hook some code that at least prints a message indicating that 
the VS2008 redistributable package needs to be installed,
or better yet, code that launches the redsitributable installer ?

note: all my tools are command line tools.

thx
Jef


-----Original Message-----
From: Anthony Tuininga [mailto:[EMAIL PROTECTED]
Sent: Wednesday, December 03, 2008 8:22 AM
To: Mangelschots, Jef
Cc: [email protected]
Subject: Re: FW: executables no longer executing on PC's without Python 
installed

This is a known issue with Python 2.6 on Windows and is across the
board as you noticed with the fact that py2exe was affected as well.
Basically, Visual Studio 2008 now requires the use of SxS
(side-by-side) installation. You have a few options:

1) Install the Visual Studio 2008 redistributable on target machines
2) Create a "standalone" package with a manifest and redistribute the
DLLs in the same directory as your executable. You can get these from
an existing installation of the Visual Studio 2008 redistributables
3) Go back to using Python 2.5 until more people have done 1) for
other purposes. :-)

I've personally used 1) right now and that is the default behavior of
cx_Freeze. I have at least confirmed that 2) works. I'm not sure I
want to go there for the default behavior of cx_Freeze as there are
murky legal issues that I'd rather not get into! I've used 3) for
anything that I ship outside of work for now until some of these
issues have been resolved.

I hope that explains things sufficiently. Its not exactly pleasant
although it works fine once you get past the issues. :-)

Anthony

On Tue, Dec 2, 2008 at 5:03 PM, Mangelschots, Jef
<[EMAIL PROTECTED]> wrote:
> I got it to work again, by switching back to python-2.5.2.msi  and
>   cx_Freeze-4.0.1.win32-py2.5.msi
>
>
>
> I could not get it to work for python-2.6.msi  and
> cx_Freeze-4.0.1.win32-py2.6.msi.
>
>
>
> It also worked for python-2.4.4.msi  and  cx_Freeze-4.0.1.win32-py2.4.exe
>
>
>
> PS: I am running XP Professional SP2 (updated)
>
>
>
> The only differences I see between the two is that msvcr90.dll is used
> instead of msvcr71.dll used by python25 and prior
>
> and that the console.exe from cx_Freeze is different for each version.
>
>
>
> It is a pity, I can not switch to Python26 because of this.
>
>
>
> regards
>
> Jef Mangelschots
>
>
>
>
>
> From: Mangelschots, Jef
> Sent: Tuesday, December 02, 2008 11:27 AM
> To: '[EMAIL PROTECTED]'
> Subject: executables no longer executing on PC's without Python installed
>
>
>
> Anthony,
>
> could I bother you with a problem I recenty encounter with cx_Freeze ?
>
> Do you have any suggestions I could look at.
>
>
>
> I have been a long time user of cx_Freeze, and it always worked very well
> for me.
>
>
>
> For a long time I have used Python 2.4 (briefly 2.5.x) and cx_Freeze 3.0.1
>
> I recently switched to Python 2.6.
>
> I use the latest cx_Freeze-4.0.1.win32-py2.6.msi.
>
>
>
> now, all of a sudden, my executables fail to execute on other people's PC's
> (they do not have any Python installed, my PC does).
>
> The Windows cmd line gives the following error: "The system can not execute
> the specified program"
>
> The program still executes on my PC.
>
> (The funny thing is, I tried to switch to py2exe, and the generated
> distribution did exactly the same)
>
>
>
>
>
> I wanted to attach the distribution as it is generated by cx_Freeze, but
> your gmail account refused attachments holding executable files.
>
>
>
>
>
>
>
> To build the distribution, I use the following command line options:
>
> cxfreeze.bat  --target-dir= N:\sw_tools\CFGMGR \bin\latest\
> --target-name=VERSIONMGR.exe     N:\sw_tools\CFGMGR
> \src\VERSIONMGR\VERSIONMGR.py
>
>
>
>
>
>
>
> This is the output it dumps to the screen:
>
>
>
> copying c:\Python26\lib\site-packages\cx_Freeze\bases\Console.exe ->
> N:\sw_tools\CFGMGR\bin\latest\VERSIONMGR.exe
>
> copying c:\Python26\python26.dll ->
> N:\sw_tools\CFGMGR\bin\latest\python26.dll
>
> copying
> C:\WINDOWS\WinSxS\x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.30729.1_x-ww_6f74963e\MSVCR90.dll
> -> N:\sw_tools\CFGMGR\bin\latest\MSVCR90.dll
>
> writing zip file N:\sw_tools\CFGMGR\bin\latest\VERSIONMGR.exe
>
>
>
>   Name                      File
>
>   ----                      ----
>
> m StringIO                  c:\Python26\lib\StringIO.py
>
> m UserDict                  c:\Python26\lib\UserDict.py
>
> m __builtin__
>
> m __future__                c:\Python26\lib\__future__.py
>
> m __main__                  N:\sw_tools\CFGMGR\src\VERSIONMGR\VERSIONMGR.py
>
> m _abcoll                   c:\Python26\lib\_abcoll.py
>
> m _bisect
>
> m _codecs
>
> m _collections
>
> m _functools
>
> m _hashlib                  c:\Python26\DLLs\_hashlib.pyd
>
> m _heapq
>
> m _locale
>
> m _md5
>
> m _random
>
> m _sha
>
> m _sha256
>
> m _sha512
>
> m _sre
>
> m _strptime                 c:\Python26\lib\_strptime.py
>
> m _struct
>
> m _subprocess
>
> m _threading_local          c:\Python26\lib\_threading_local.py
>
> m _warnings
>
> m abc                       c:\Python26\lib\abc.py
>
> m app_lib                   N:\sw_tools\PYTHON_LIB\app_lib.py
>
> m array
>
> m bdb                       c:\Python26\lib\bdb.py
>
> m binascii
>
> m bisect                    c:\Python26\lib\bisect.py
>
> m cPickle
>
> m cStringIO
>
> m calendar                  c:\Python26\lib\calendar.py
>
> m cmd                       c:\Python26\lib\cmd.py
>
> m codecs                    c:\Python26\lib\codecs.py
>
> m collections               c:\Python26\lib\collections.py
>
> m copy                      c:\Python26\lib\copy.py
>
> m copy_reg                  c:\Python26\lib\copy_reg.py
>
> m cx_Freeze__init__
> c:\Python26\lib\site-packages\cx_Freeze\initscripts\Console.py
>
> m datetime
>
> m difflib                   c:\Python26\lib\difflib.py
>
> m dis                       c:\Python26\lib\dis.py
>
> m doctest                   c:\Python26\lib\doctest.py
>
> m dummy_thread              c:\Python26\lib\dummy_thread.py
>
> P encodings                 c:\Python26\lib\encodings\__init__.py
>
> m encodings.aliases         c:\Python26\lib\encodings\aliases.py
>
> m errno
>
> m file_lib                  N:\sw_tools\PYTHON_LIB\file_lib.py
>
> m fnmatch                   c:\Python26\lib\fnmatch.py
>
> m functools                 c:\Python26\lib\functools.py
>
> m gc
>
> m genericpath               c:\Python26\lib\genericpath.py
>
> m getopt                    c:\Python26\lib\getopt.py
>
> m gettext                   c:\Python26\lib\gettext.py
>
> m glob                      c:\Python26\lib\glob.py
>
> m hashlib                   c:\Python26\lib\hashlib.py
>
> m heapq                     c:\Python26\lib\heapq.py
>
> m imp
>
> m inspect                   c:\Python26\lib\inspect.py
>
> m inv_lib                   N:\sw_tools\PYTHON_LIB\inv_lib.py
>
> m itertools
>
> m keyword                   c:\Python26\lib\keyword.py
>
> m linecache                 c:\Python26\lib\linecache.py
>
> m locale                    c:\Python26\lib\locale.py
>
> m marshal
>
> m math
>
> m msvcrt
>
> m nt
>
> m ntpath                    c:\Python26\lib\ntpath.py
>
> m opcode                    c:\Python26\lib\opcode.py
>
> m operator
>
> m optparse                  c:\Python26\lib\optparse.py
>
> m os                        c:\Python26\lib\os.py
>
> m pdb                       c:\Python26\lib\pdb.py
>
> m pickle                    c:\Python26\lib\pickle.py
>
> m posixpath                 c:\Python26\lib\posixpath.py
>
> m pprint                    c:\Python26\lib\pprint.py
>
> m pvcs_mgr                  N:\sw_tools\PYTHON_LIB\pvcs_mgr.py
>
> m pywintypes                C:\WINDOWS\system32\pywintypes26.dll
>
> m random                    c:\Python26\lib\random.py
>
> m re                        c:\Python26\lib\re.py
>
> m reporter                  N:\sw_tools\PYTHON_LIB\reporter.py
>
> m repr                      c:\Python26\lib\repr.py
>
> m select                    c:\Python26\DLLs\select.pyd
>
> m sha                       c:\Python26\lib\sha.py
>
> m shlex                     c:\Python26\lib\shlex.py
>
> m shutil                    c:\Python26\lib\shutil.py
>
> m signal
>
> m sre_compile               c:\Python26\lib\sre_compile.py
>
> m sre_constants             c:\Python26\lib\sre_constants.py
>
> m sre_parse                 c:\Python26\lib\sre_parse.py
>
> m stat                      c:\Python26\lib\stat.py
>
> m string                    c:\Python26\lib\string.py
>
> m strop
>
> m struct                    c:\Python26\lib\struct.py
>
> m subprocess                c:\Python26\lib\subprocess.py
>
> m sys
>
> m table                     N:\sw_tools\PYTHON_LIB\table.py
>
> m tempfile                  c:\Python26\lib\tempfile.py
>
> m textwrap                  c:\Python26\lib\textwrap.py
>
> m thread
>
> m threading                 c:\Python26\lib\threading.py
>
> m time
>
> m token                     c:\Python26\lib\token.py
>
> m tokenize                  c:\Python26\lib\tokenize.py
>
> m traceback                 c:\Python26\lib\traceback.py
>
> m types                     c:\Python26\lib\types.py
>
> m unittest                  c:\Python26\lib\unittest.py
>
> m warnings                  c:\Python26\lib\warnings.py
>
> m win32api                  c:\Python26\lib\site-packages\win32\win32api.pyd
>
> m zipimport
>
> m zlib
>
>
>
> copying c:\Python26\DLLs\_hashlib.pyd ->
> N:\sw_tools\CFGMGR\bin\latest\_hashlib.pyd
>
> copying C:\WINDOWS\system32\pywintypes26.dll ->
> N:\sw_tools\CFGMGR\bin\latest\pywintypes26.dll
>
> copying c:\Python26\DLLs\select.pyd ->
> N:\sw_tools\CFGMGR\bin\latest\select.pyd
>
> copying c:\Python26\lib\site-packages\win32\win32api.pyd ->
> N:\sw_tools\CFGMGR\bin\latest\win32api.pyd
>
>
>
>
>
> ________________________________
> Any files attached to this e-mail will have been checked with virus
> detection software prior to transmission but you should carry out your own
> virus check before opening any attachment. Safetran Systems Corp does not
> accept liability for any damage or loss which may be caused by software
> viruses. The contents of this e-mail and any attachments are the property of
> Safetran Systems Corp and are intended for the confidential use by the named
> recipient only. They may be legally privileged and should not be
> communicated to, or relied upon, by any other person without written
> consent. If you are not the addressee, please notify us immediately at the
> following address: Safetran Systems Corporation, 2400 Nelson Miller Parkway,
> Louisville, Kentucky 40223. Safetran Systems Corp is a subsidiary of
> Invensys Plc. Registered office: Portland House, Bressenden Place, London,
> SW1E 5BF. UK Registered in England and Wales No. 1641421.
>

Any files attached to this e-mail will have been checked with virus detection 
software prior to transmission but you should carry out your own virus check 
before opening any attachment. Safetran Systems Corp does not accept liability 
for any damage or loss which may be caused by software viruses. The contents of 
this e-mail and any attachments are the property of Safetran Systems Corp and 
are intended for the confidential use by the named recipient only. They may be 
legally privileged and should not be communicated to, or relied upon, by any 
other person without written consent. If you are not the addressee, please 
notify us immediately at the following address:  Safetran Systems Corporation, 
2400 Nelson Miller Parkway, Louisville, Kentucky 40223. Safetran Systems Corp 
is a subsidiary of  Invensys Plc.  Registered office: Portland House, 
Bressenden Place, London, SW1E 5BF. UK Registered in England and Wales No. 
1641421.

------------------------------------------------------------------------------
SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada.
The future of the web can't happen without you.  Join us at MIX09 to help
pave the way to the Next Web now. Learn more and register at
http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/
_______________________________________________
cx-freeze-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/cx-freeze-users

Reply via email to