我有一个我构建的 EXE,我试图将它安装在 Win7 机器上的 Program Files (x86) 文件夹中。确实有一些有趣的行为正在发生。程序有一个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 文件夹运行时,是否发生了导致路径引用变得混乱的事情?更重要的是它可以修复吗?
最后一点-为了尽可能确定问题与 xrc 文件夹的路径有关,我从应用程序的两个实例中删除了 xrc 文件夹,并且收到了与在 x86 中安装程序时收到的相同错误消息文件夹。
只是为了澄清,程序不会运行的唯一时间是当我使用开始菜单上的快捷方式时,exe 和所有部件都保存在 Program Files (x86) 文件夹中
Plasticsabers 的回答确实帮助我理解了这个问题,并且我能够解决它。这不是 Vista 与 XP 的问题,而是 32 位操作系统与 64 位的问题。
我需要在 64 位 XP 和 32 位 Win7 上运行。