We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
genpy hook breaks win32com.client.gencache.EnsureDispatch()
## Description of the issue
The [runtime hook for genpy](https://github.com/pyinstaller/pyinstaller/blob/develop/PyInstaller/hooks/rthooks/pyi_rth_win32comgenpy.py) creates a temporary directory for the genpy cache and overwrites `win32com.__gen_path__` accordingly: https://github.com/pyinstaller/pyinstaller/blob/14c53a9d9f7b9322cfc8e18ae1c6e415230fba22/PyInstaller/hooks/rthooks/pyi_rth_win32comgenpy.py#L42
This creates a new cache such as:
C:\\Users\\<USER>\\AppData\\Local\\Temp\\**tmpytt5_e6s**\\gen_py (let's call this **hook cache**)

If a genpy cache already exists in:
C:\\Users\\<USER>\\AppData\\Local\\Temp\\gen_py (let's call this one **global cache**)
(as caused by running the python script directly, instead of the pyinstaller version)
the global cache is found by `EnsureDispatch()` such that no new cache will be generated in the hook cache.

This should be fine as long as the global cache contains all required python modules. However, if it does not, the win32com package tries to generate the missing modules:
This leads to the first exception shown below: `ModuleNotFoundError`, which is expected behaviour as far as I understand this mechanism.

But now, when handling this exception, since the hook has overwritten `win32com.__gen_path__`, generating the missing modules is attempted in the hook cache although the global cache is being used currently.
This leads to the second exception shown below: `No such file or directory`.

I'm not sure about the correct way to fix this. I can think of at least the following two ways:
1. Prevent the win32com package from discovering the global cache such that an entirely new cache is generated each time.
2. Modify the runtime hook such that the missing modules are generated in the currently used cache (i.e. the global cache if one exists and the hook cache if not global cache was found).

### Context information (for bug reports)

* Output of `pyinstaller --version`: ```5.0.dev0```
* Version of Python: 3.9.2
* Platform: Windows
* How you installed Python: python.org/downloads
* Did you also try this on another platform? Does it work there? No, since this is only applicable to Windows.

### A minimal example program which shows the error

```
from win32com.client import gencache

excel = gencache.EnsureDispatch("Excel.Application")

if not input(">"):
    # this will generate a cache that is complete for this "if" branch, but incomplete for the "else" branch.
    print(excel.Selection)
else:
    print(excel.Selection) 
    print(excel.Selection.Font)

```

To reproduce the error:
1. Open any excel sheet
2. Make sure that no global cache exists (simply delete it, if it exists)
3. Create the executable using: `pyinstaller bug_demo.py`
4. Run `bug_demo.exe`. It will prompt for an input. This should work no matter if you take the "if" branch (simply press Enter) or the "else" branch (provide some actual input, e.g. "a").
5. Run `bug_demo.py` directly using the python interpreter and just press Enter when it asks for input. This will create a global cache, which is incomplete for the "else" branch.
6.  Run `bug_demo.exe` again. This time, it will only work if you take the "if" branch (simply press Enter). If you take the "else" branch (provide some actual input, e.g. "a"), the error shown below should occur.

### Stacktrace / full error message


```
(venv) PS C:\Users\<SNIP>> .\dist\bug_demo\bug_demo.exe
a
None
Traceback (most recent call last):
  File "win32com\client\gencache.py", line 233, in GetModuleForCLSID
ModuleNotFoundError: No module named 'win32com.gen_py.00020813-0000-0000-C000-000000000046x0x1x9.Font'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "bug_demo.py", line 9, in <module>
    print(excel.Selection.Font)
  File "win32com\client\__init__.py", line 474, in __getattr__
  File "win32com\client\__init__.py", line 466, in _ApplyTypes_
  File "win32com\client\__init__.py", line 486, in _get_good_object_
  File "win32com\client\__init__.py", line 502, in _get_good_object_
  File "win32com\client\__init__.py", line 491, in _get_good_single_object_
  File "win32com\client\__init__.py", line 96, in Dispatch
  File "win32com\client\__init__.py", line 37, in __WrapDispatch
  File "win32com\client\gencache.py", line 180, in GetClassForCLSID
  File "win32com\client\gencache.py", line 241, in GetModuleForCLSID
  File "win32com\client\makepy.py", line 319, in GenerateChildFromTypeLibSpec
  File "win32com\client\genpy.py", line 1042, in generate_child
  File "win32com\client\genpy.py", line 779, in open_writer
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\<USER>\\AppData\\Local\\Temp\\tmpytt5_e6s\\gen_py\\00020813-0000-0000-C000-000000000046x0x1x9\\Font.py.18792.temp'
[18792] Failed to execute script bug_demo

```


--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `PyInstaller/hooks/rthooks/pyi_rth_win32comgenpy.py`
Content:
```
1 #-----------------------------------------------------------------------------
2 # Copyright (c) 2013-2023, PyInstaller Development Team.
3 #
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 #
7 # The full license is in the file COPYING.txt, distributed with this software.
8 #
9 # SPDX-License-Identifier: Apache-2.0
10 #-----------------------------------------------------------------------------
11 
12 # The win32.client.gencache code must be allowed to create the cache in %temp% (user's temp). It is necessary to get the
13 # gencache code to use a suitable directory other than the default in lib\site-packages\win32com\client\gen_py.
14 # PyInstaller does not provide this directory structure and the frozen executable could be placed in a non-writable
15 # directory like 'C:\Program Files. That's the reason for %temp% directory.
16 #
17 # http://www.py2exe.org/index.cgi/UsingEnsureDispatch
18 
19 
20 def _pyi_rthook():
21     import atexit
22     import os
23     import shutil
24     import tempfile
25 
26     # Put gen_py cache in temp directory.
27     supportdir = tempfile.mkdtemp()
28     # gen_py has to be put into directory 'gen_py'.
29     genpydir = os.path.join(supportdir, 'gen_py')
30 
31     # Create 'gen_py' directory. This directory does not need to contain '__init__.py' file.
32     try:
33         # win32com gencache cannot be put directly to 'supportdir' with any random name. It has to be put in a directory
34         # called 'gen_py'. This is the reason why to create this directory in supportdir'.
35         os.makedirs(genpydir)
36         # Remove temp directory at application exit and ignore any errors.
37         atexit.register(shutil.rmtree, supportdir, ignore_errors=True)
38     except OSError:
39         pass
40 
41     # Override the default path to gen_py cache.
42     import win32com  # noqa: E402
43 
44     win32com.__gen_path__ = genpydir
45 
46     # The attribute __loader__ makes module 'pkg_resources' working but On Windows it breaks pywin32 (win32com) and test
47     # 'basic/test_pyttsx' will fail. Just removing that attribute for win32com fixes that and gencache is created
48     # properly.
49     if hasattr(win32com, '__loader__'):
50         del win32com.__loader__
51 
52     # Ensure genpydir is in 'gen_py' module paths.
53     import win32com.gen_py  # noqa: E402
54 
55     win32com.gen_py.__path__.insert(0, genpydir)
56 
57 
58 _pyi_rthook()
59 del _pyi_rthook
60
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/PyInstaller/hooks/rthooks/pyi_rth_win32comgenpy.py b/PyInstaller/hooks/rthooks/pyi_rth_win32comgenpy.py
--- a/PyInstaller/hooks/rthooks/pyi_rth_win32comgenpy.py
+++ b/PyInstaller/hooks/rthooks/pyi_rth_win32comgenpy.py
@@ -9,12 +9,12 @@
 # SPDX-License-Identifier: Apache-2.0
 #-----------------------------------------------------------------------------
 
-# The win32.client.gencache code must be allowed to create the cache in %temp% (user's temp). It is necessary to get the
-# gencache code to use a suitable directory other than the default in lib\site-packages\win32com\client\gen_py.
-# PyInstaller does not provide this directory structure and the frozen executable could be placed in a non-writable
-# directory like 'C:\Program Files. That's the reason for %temp% directory.
-#
-# http://www.py2exe.org/index.cgi/UsingEnsureDispatch
+# Put the cache generated by `win32com.client.gencache` into isolated temporary directory. Historically, this was
+# required due to earlier versions of `pywin32` using the `site-packages\win32com\client\gen_py`  directory for
+# the cache by default. Nowadays, the default location for the cache seems to be in the configured temporary directory
+# (pointed to by TEMP or TMP, for example %LOCALAPPDATA%\Temp), so strictly speaking, the relocation is not necessary
+# anymore. But for the time being, we are keeping it around to isolate the frozen application from the rest of the
+# system.
 
 
 def _pyi_rthook():
@@ -23,36 +23,22 @@
     import shutil
     import tempfile
 
-    # Put gen_py cache in temp directory.
+    import win32com
+
+    # Create temporary directory. The actual cache directory needs to be named `gen_py`, so create a sub-directory.
     supportdir = tempfile.mkdtemp()
-    # gen_py has to be put into directory 'gen_py'.
+
     genpydir = os.path.join(supportdir, 'gen_py')
+    os.makedirs(genpydir, exist_ok=True)
 
-    # Create 'gen_py' directory. This directory does not need to contain '__init__.py' file.
-    try:
-        # win32com gencache cannot be put directly to 'supportdir' with any random name. It has to be put in a directory
-        # called 'gen_py'. This is the reason why to create this directory in supportdir'.
-        os.makedirs(genpydir)
-        # Remove temp directory at application exit and ignore any errors.
-        atexit.register(shutil.rmtree, supportdir, ignore_errors=True)
-    except OSError:
-        pass
+    # Remove the teporary directory at application exit, ignoring errors.
+    atexit.register(shutil.rmtree, supportdir, ignore_errors=True)
 
     # Override the default path to gen_py cache.
-    import win32com  # noqa: E402
-
     win32com.__gen_path__ = genpydir
 
-    # The attribute __loader__ makes module 'pkg_resources' working but On Windows it breaks pywin32 (win32com) and test
-    # 'basic/test_pyttsx' will fail. Just removing that attribute for win32com fixes that and gencache is created
-    # properly.
-    if hasattr(win32com, '__loader__'):
-        del win32com.__loader__
-
-    # Ensure genpydir is in 'gen_py' module paths.
-    import win32com.gen_py  # noqa: E402
-
-    win32com.gen_py.__path__.insert(0, genpydir)
+    # Override the sub-module paths for win32com.gen_py run-time sub-package.
+    win32com.gen_py.__path__ = [genpydir]
 
 
 _pyi_rthook()

{"golden_diff": "diff --git a/PyInstaller/hooks/rthooks/pyi_rth_win32comgenpy.py b/PyInstaller/hooks/rthooks/pyi_rth_win32comgenpy.py\n--- a/PyInstaller/hooks/rthooks/pyi_rth_win32comgenpy.py\n+++ b/PyInstaller/hooks/rthooks/pyi_rth_win32comgenpy.py\n@@ -9,12 +9,12 @@\n # SPDX-License-Identifier: Apache-2.0\n #-----------------------------------------------------------------------------\n \n-# The win32.client.gencache code must be allowed to create the cache in %temp% (user's temp). It is necessary to get the\n-# gencache code to use a suitable directory other than the default in lib\\site-packages\\win32com\\client\\gen_py.\n-# PyInstaller does not provide this directory structure and the frozen executable could be placed in a non-writable\n-# directory like 'C:\\Program Files. That's the reason for %temp% directory.\n-#\n-# http://www.py2exe.org/index.cgi/UsingEnsureDispatch\n+# Put the cache generated by `win32com.client.gencache` into isolated temporary directory. Historically, this was\n+# required due to earlier versions of `pywin32` using the `site-packages\\win32com\\client\\gen_py`  directory for\n+# the cache by default. Nowadays, the default location for the cache seems to be in the configured temporary directory\n+# (pointed to by TEMP or TMP, for example %LOCALAPPDATA%\\Temp), so strictly speaking, the relocation is not necessary\n+# anymore. But for the time being, we are keeping it around to isolate the frozen application from the rest of the\n+# system.\n \n \n def _pyi_rthook():\n@@ -23,36 +23,22 @@\n     import shutil\n     import tempfile\n \n-    # Put gen_py cache in temp directory.\n+    import win32com\n+\n+    # Create temporary directory. The actual cache directory needs to be named `gen_py`, so create a sub-directory.\n     supportdir = tempfile.mkdtemp()\n-    # gen_py has to be put into directory 'gen_py'.\n+\n     genpydir = os.path.join(supportdir, 'gen_py')\n+    os.makedirs(genpydir, exist_ok=True)\n \n-    # Create 'gen_py' directory. This directory does not need to contain '__init__.py' file.\n-    try:\n-        # win32com gencache cannot be put directly to 'supportdir' with any random name. It has to be put in a directory\n-        # called 'gen_py'. This is the reason why to create this directory in supportdir'.\n-        os.makedirs(genpydir)\n-        # Remove temp directory at application exit and ignore any errors.\n-        atexit.register(shutil.rmtree, supportdir, ignore_errors=True)\n-    except OSError:\n-        pass\n+    # Remove the teporary directory at application exit, ignoring errors.\n+    atexit.register(shutil.rmtree, supportdir, ignore_errors=True)\n \n     # Override the default path to gen_py cache.\n-    import win32com  # noqa: E402\n-\n     win32com.__gen_path__ = genpydir\n \n-    # The attribute __loader__ makes module 'pkg_resources' working but On Windows it breaks pywin32 (win32com) and test\n-    # 'basic/test_pyttsx' will fail. Just removing that attribute for win32com fixes that and gencache is created\n-    # properly.\n-    if hasattr(win32com, '__loader__'):\n-        del win32com.__loader__\n-\n-    # Ensure genpydir is in 'gen_py' module paths.\n-    import win32com.gen_py  # noqa: E402\n-\n-    win32com.gen_py.__path__.insert(0, genpydir)\n+    # Override the sub-module paths for win32com.gen_py run-time sub-package.\n+    win32com.gen_py.__path__ = [genpydir]\n \n \n _pyi_rthook()\n", "issue": "genpy hook breaks win32com.client.gencache.EnsureDispatch()\n## Description of the issue\r\nThe [runtime hook for genpy](https://github.com/pyinstaller/pyinstaller/blob/develop/PyInstaller/hooks/rthooks/pyi_rth_win32comgenpy.py) creates a temporary directory for the genpy cache and overwrites `win32com.__gen_path__` accordingly: https://github.com/pyinstaller/pyinstaller/blob/14c53a9d9f7b9322cfc8e18ae1c6e415230fba22/PyInstaller/hooks/rthooks/pyi_rth_win32comgenpy.py#L42\r\nThis creates a new cache such as:\r\nC:\\\\Users\\\\<USER>\\\\AppData\\\\Local\\\\Temp\\\\**tmpytt5_e6s**\\\\gen_py (let's call this **hook cache**)\r\n\r\nIf a genpy cache already exists in:\r\nC:\\\\Users\\\\<USER>\\\\AppData\\\\Local\\\\Temp\\\\gen_py (let's call this one **global cache**)\r\n(as caused by running the python script directly, instead of the pyinstaller version)\r\nthe global cache is found by `EnsureDispatch()` such that no new cache will be generated in the hook cache.\r\n\r\nThis should be fine as long as the global cache contains all required python modules. However, if it does not, the win32com package tries to generate the missing modules:\r\nThis leads to the first exception shown below: `ModuleNotFoundError`, which is expected behaviour as far as I understand this mechanism.\r\n\r\nBut now, when handling this exception, since the hook has overwritten `win32com.__gen_path__`, generating the missing modules is attempted in the hook cache although the global cache is being used currently.\r\nThis leads to the second exception shown below: `No such file or directory`.\r\n\r\nI'm not sure about the correct way to fix this. I can think of at least the following two ways:\r\n1. Prevent the win32com package from discovering the global cache such that an entirely new cache is generated each time.\r\n2. Modify the runtime hook such that the missing modules are generated in the currently used cache (i.e. the global cache if one exists and the hook cache if not global cache was found).\r\n\r\n### Context information (for bug reports)\r\n\r\n* Output of `pyinstaller --version`: ```5.0.dev0```\r\n* Version of Python: 3.9.2\r\n* Platform: Windows\r\n* How you installed Python: python.org/downloads\r\n* Did you also try this on another platform? Does it work there? No, since this is only applicable to Windows.\r\n\r\n### A minimal example program which shows the error\r\n\r\n```\r\nfrom win32com.client import gencache\r\n\r\nexcel = gencache.EnsureDispatch(\"Excel.Application\")\r\n\r\nif not input(\">\"):\r\n    # this will generate a cache that is complete for this \"if\" branch, but incomplete for the \"else\" branch.\r\n    print(excel.Selection)\r\nelse:\r\n    print(excel.Selection) \r\n    print(excel.Selection.Font)\r\n\r\n```\r\n\r\nTo reproduce the error:\r\n1. Open any excel sheet\r\n2. Make sure that no global cache exists (simply delete it, if it exists)\r\n3. Create the executable using: `pyinstaller bug_demo.py`\r\n4. Run `bug_demo.exe`. It will prompt for an input. This should work no matter if you take the \"if\" branch (simply press Enter) or the \"else\" branch (provide some actual input, e.g. \"a\").\r\n5. Run `bug_demo.py` directly using the python interpreter and just press Enter when it asks for input. This will create a global cache, which is incomplete for the \"else\" branch.\r\n6.  Run `bug_demo.exe` again. This time, it will only work if you take the \"if\" branch (simply press Enter). If you take the \"else\" branch (provide some actual input, e.g. \"a\"), the error shown below should occur.\r\n\r\n### Stacktrace / full error message\r\n\r\n\r\n```\r\n(venv) PS C:\\Users\\<SNIP>> .\\dist\\bug_demo\\bug_demo.exe\r\na\r\nNone\r\nTraceback (most recent call last):\r\n  File \"win32com\\client\\gencache.py\", line 233, in GetModuleForCLSID\r\nModuleNotFoundError: No module named 'win32com.gen_py.00020813-0000-0000-C000-000000000046x0x1x9.Font'\r\n\r\nDuring handling of the above exception, another exception occurred:\r\n\r\nTraceback (most recent call last):\r\n  File \"bug_demo.py\", line 9, in <module>\r\n    print(excel.Selection.Font)\r\n  File \"win32com\\client\\__init__.py\", line 474, in __getattr__\r\n  File \"win32com\\client\\__init__.py\", line 466, in _ApplyTypes_\r\n  File \"win32com\\client\\__init__.py\", line 486, in _get_good_object_\r\n  File \"win32com\\client\\__init__.py\", line 502, in _get_good_object_\r\n  File \"win32com\\client\\__init__.py\", line 491, in _get_good_single_object_\r\n  File \"win32com\\client\\__init__.py\", line 96, in Dispatch\r\n  File \"win32com\\client\\__init__.py\", line 37, in __WrapDispatch\r\n  File \"win32com\\client\\gencache.py\", line 180, in GetClassForCLSID\r\n  File \"win32com\\client\\gencache.py\", line 241, in GetModuleForCLSID\r\n  File \"win32com\\client\\makepy.py\", line 319, in GenerateChildFromTypeLibSpec\r\n  File \"win32com\\client\\genpy.py\", line 1042, in generate_child\r\n  File \"win32com\\client\\genpy.py\", line 779, in open_writer\r\nFileNotFoundError: [Errno 2] No such file or directory: 'C:\\\\Users\\\\<USER>\\\\AppData\\\\Local\\\\Temp\\\\tmpytt5_e6s\\\\gen_py\\\\00020813-0000-0000-C000-000000000046x0x1x9\\\\Font.py.18792.temp'\r\n[18792] Failed to execute script bug_demo\r\n\r\n```\r\n\n", "before_files": [{"content": "#-----------------------------------------------------------------------------\n# Copyright (c) 2013-2023, PyInstaller Development Team.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n#\n# The full license is in the file COPYING.txt, distributed with this software.\n#\n# SPDX-License-Identifier: Apache-2.0\n#-----------------------------------------------------------------------------\n\n# The win32.client.gencache code must be allowed to create the cache in %temp% (user's temp). It is necessary to get the\n# gencache code to use a suitable directory other than the default in lib\\site-packages\\win32com\\client\\gen_py.\n# PyInstaller does not provide this directory structure and the frozen executable could be placed in a non-writable\n# directory like 'C:\\Program Files. That's the reason for %temp% directory.\n#\n# http://www.py2exe.org/index.cgi/UsingEnsureDispatch\n\n\ndef _pyi_rthook():\n    import atexit\n    import os\n    import shutil\n    import tempfile\n\n    # Put gen_py cache in temp directory.\n    supportdir = tempfile.mkdtemp()\n    # gen_py has to be put into directory 'gen_py'.\n    genpydir = os.path.join(supportdir, 'gen_py')\n\n    # Create 'gen_py' directory. This directory does not need to contain '__init__.py' file.\n    try:\n        # win32com gencache cannot be put directly to 'supportdir' with any random name. It has to be put in a directory\n        # called 'gen_py'. This is the reason why to create this directory in supportdir'.\n        os.makedirs(genpydir)\n        # Remove temp directory at application exit and ignore any errors.\n        atexit.register(shutil.rmtree, supportdir, ignore_errors=True)\n    except OSError:\n        pass\n\n    # Override the default path to gen_py cache.\n    import win32com  # noqa: E402\n\n    win32com.__gen_path__ = genpydir\n\n    # The attribute __loader__ makes module 'pkg_resources' working but On Windows it breaks pywin32 (win32com) and test\n    # 'basic/test_pyttsx' will fail. Just removing that attribute for win32com fixes that and gencache is created\n    # properly.\n    if hasattr(win32com, '__loader__'):\n        del win32com.__loader__\n\n    # Ensure genpydir is in 'gen_py' module paths.\n    import win32com.gen_py  # noqa: E402\n\n    win32com.gen_py.__path__.insert(0, genpydir)\n\n\n_pyi_rthook()\ndel _pyi_rthook\n", "path": "PyInstaller/hooks/rthooks/pyi_rth_win32comgenpy.py"}], "after_files": [{"content": "#-----------------------------------------------------------------------------\n# Copyright (c) 2013-2023, PyInstaller Development Team.\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n#\n# The full license is in the file COPYING.txt, distributed with this software.\n#\n# SPDX-License-Identifier: Apache-2.0\n#-----------------------------------------------------------------------------\n\n# Put the cache generated by `win32com.client.gencache` into isolated temporary directory. Historically, this was\n# required due to earlier versions of `pywin32` using the `site-packages\\win32com\\client\\gen_py`  directory for\n# the cache by default. Nowadays, the default location for the cache seems to be in the configured temporary directory\n# (pointed to by TEMP or TMP, for example %LOCALAPPDATA%\\Temp), so strictly speaking, the relocation is not necessary\n# anymore. But for the time being, we are keeping it around to isolate the frozen application from the rest of the\n# system.\n\n\ndef _pyi_rthook():\n    import atexit\n    import os\n    import shutil\n    import tempfile\n\n    import win32com\n\n    # Create temporary directory. The actual cache directory needs to be named `gen_py`, so create a sub-directory.\n    supportdir = tempfile.mkdtemp()\n\n    genpydir = os.path.join(supportdir, 'gen_py')\n    os.makedirs(genpydir, exist_ok=True)\n\n    # Remove the teporary directory at application exit, ignoring errors.\n    atexit.register(shutil.rmtree, supportdir, ignore_errors=True)\n\n    # Override the default path to gen_py cache.\n    win32com.__gen_path__ = genpydir\n\n    # Override the sub-module paths for win32com.gen_py run-time sub-package.\n    win32com.gen_py.__path__ = [genpydir]\n\n\n_pyi_rthook()\ndel _pyi_rthook\n", "path": "PyInstaller/hooks/rthooks/pyi_rth_win32comgenpy.py"}]}