pyinstaller生成的exe文件不能在其他PC上使用

时间:2015-12-24 08:33:19

标签: python pyinstaller

我使用pyinstaller将python.py文件转换为可执行文件。可执行文件在我的计算机上工作但在其他计算机中崩溃。我收到以下错误消息。

Failed to get ANSI buffer size <WideCharToMultiByte: parameter error
Failed to convert progname to wchar_t

可能是什么问题?

1 个答案:

答案 0 :(得分:3)

在Microsoft的msdn上,您可以找到

  

小心错误地使用 WideCharToMultiByte 功能可能会危及应用程序的安全性。调用此函数很容易导致缓冲区溢出,因为lpWideCharStr指示的输入缓冲区大小等于Unicode字符串中的字符数,而lpMultiByteStr指示的输出缓冲区大小等于字节数。为避免缓冲区溢出,应用程序必须指定适合缓冲区接收的数据类型的缓冲区大小。   从UTF-16转换为非Unicode编码的数据会受到数据丢失的影响,因为代码页可能无法表示特定Unicode数据中使用的每个字符。

WideCharToMultiByte function

您可以确保:

  • 您在应用程序中使用 UTF编码
  • 你在构建应用程序时包含所有ddl(这可能是它在你的电脑上而不是其他人运行的另一个原因)