Win7 マシンの Program Files (x86) フォルダーにインストールしようとしている、作成した EXE があります。本当に興味深い行動が起こっています。このプログラムには gui があり、インターフェイスを処理するために wx-Python と XRC を使用しました。ディストリビューションには XRC フォルダーが含まれています。プログラムは getcwd() を使用して自分自身を見つけ、xrc フォルダーを見つけます。ただし、これは非常に興味深いことです。プログラムを Program Files に配置すると、すべて正常に動作します。プログラムを Program Files x86 フォルダーに配置すると、xrc フォルダーが見つからないことを示すメッセージが表示されます。
このアプリケーションは、Program Files の XP マシン、Vista マシン、および Program Files の Win7 マシンで問題なく動作します。
他に興味深いのは、Program Files (x86) フォルダー内の exe をダブルクリックすると正常に実行されますが、スタート/プログラム メニューに追加されたショートカットから実行しようとすると正しく実行されないことです。ここで、プログラムが xrc フォルダーを見つけられないことを示すエラー メッセージが表示されます。また、プログラムをデスクトップ上のフォルダーに移動し、ルートおよび他のすべての場所で、プログラムが起動して正常に実行されました。したがって、xrc フォルダーを指すコードは問題ないと確信しています。
では、質問に戻ります。プログラムが x86 フォルダーから実行されている場合、パス参照がおかしくなるようなことが起こっていますか? さらに重要なことは、それは修正可能ですか?
最後に 1 つ - 問題が xrc フォルダーへのパスに関連していることを可能な限り確認するために、アプリケーションの 2 つのインスタンスから xrc フォルダーを削除しましたが、プログラムが x86 にインストールされたときに受け取ったのと同じエラー メッセージが表示されます。フォルダ。
明確にするために、プログラムが実行されないのは、スタート メニューのショートカットを使用し、exe を使用し、すべてのパーツが Program Files (x86) フォルダーに保存されている場合のみです。
Plasticsabers answer は、問題を理解するのに本当に役立ち、修正することができました。これは Vista と XP の問題ではなく、32 ビット OS と 64 ビットの問題です。
64 ビット XP と 32 ビット Win7 で実行する必要があります。