Skip to content

Unlisted Windows dependencies #566

@Henri-J-Norden

Description

@Henri-J-Norden

Description

EB CLI installation is broken on Windows since 3.23.0 - there are two issues:

  1. The pythonnet package is not present in the built awsebcli.egg-info/requires.txt
    • This can be fixed by specifying the package in requirements.txt with an environment marker: pythonnet ; platform_system=="Windows"
  2. It is assumed that IIS is installed on every Windows machine (also mentioned in 3.23.2 version errors due to missing Microsoft.Web.Administration.dll #551 (comment))

Steps to reproduce

  1. Install awsebcli on a fresh install of Windows
  2. Run any eb command

Observed result

$ uvx --from "awsebcli==3.23.0" eb --version
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "...\Scripts\eb.exe\__main__.py", line 4, in <module>
    from ebcli.core.ebcore import main
  File "...\Lib\site-packages\ebcli\core\ebcore.py", line 35, in <mod
ule>
    from ebcli.controllers.migrate import MigrateController, MigrateExploreController, MigrateCleanupController
  File "...\Lib\site-packages\ebcli\controllers\migrate.py", line 29,
 in <module>
    import clr
ModuleNotFoundError: No module named 'clr'
$ uvx --from "awsebcli==3.25" eb --version
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "...\Scripts\eb.exe\__main__.py", line 4, in <module>
    from ebcli.core.ebcore import main
  File "...\Lib\site-packages\ebcli\core\ebcore.py", line 35, in <mod
ule>
    from ebcli.controllers.migrate import MigrateController, MigrateExploreController, MigrateCleanupController
  File "...\Lib\site-packages\ebcli\controllers\migrate.py", line 31,
 in <module>
    import clr
ModuleNotFoundError: No module named 'clr'
$ uvx --from "awsebcli==3.25" --with "pythonnet" eb --version
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "...\Scripts\eb.exe\__main__.py", line 4, in <module>
    from ebcli.core.ebcore import main
  File "...\Lib\site-packages\ebcli\core\ebcore.py", line 35, in <mod
ule>
    from ebcli.controllers.migrate import MigrateController, MigrateExploreController, MigrateCleanupController
  File "...\Lib\site-packages\ebcli\controllers\migrate.py", line 35,
 in <module>
    clr.AddReference(r"C:\Windows\System32\inetsrv\Microsoft.Web.Administration.dll")
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
System.IO.FileNotFoundException: Unable to find assembly 'C:\Windows\System32\inetsrv\Microsoft.Web.Administration.dll'.
   at Python.Runtime.CLRModule.AddReference(String name)

Expected result

This, but for newer awsebcli versions:

$ uvx --from "awsebcli<3.23.0" eb --version
EB CLI 3.22.1 (Python 3.13.2 (main, Feb 12 2025, 14:49:53) [MSC v.1942 64 bit (AMD64)])

Additional environment details (Ex: Windows, Mac, Amazon Linux etc)

  1. OS: Windows 10.0.19045 Build 19045
  2. EBCLI version: 3.25.0

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions