beeware / briefcase-windows-VisualStudio-template

A template for generating Visual Studio projects for building Windows apps with Briefcase
MIT License
4 stars 9 forks source link

Add missing pyproject.toml data #2

Closed drewbrew closed 1 year ago

drewbrew commented 2 years ago

This should fix CI by adding missing required info

PR Checklist:

drewbrew commented 2 years ago

So I tried to get things running locally, and heat.exe appears to be crashing due to something related to the .NET framework, but I have no idea what wix needs (the completely unhelpful error message is taking me to https://learn.microsoft.com/en-us/dotnet/framework/install/application-not-started?version=(null)&processName=heat.exe&platform=0009&osver=6&isServer=0&shimver=4.0.30319.0 -- my error is the first dialog in that link).

@freakboy3742 do you happen to know what version of the .NET framework I might need?

The log itself is mostly useless (aside from laughing at how much of a thin veneer windows 11 really is):

Date/Time:       2022-10-24 09:01:23 
Command line:    C:\Users\winst\code\briefcase-windows-VisualStudio-template\.venv\Scripts\briefcase package windows VisualStudio --adhoc-sign

OS Release:      Windows 10
OS Version:      10.0.22623
Architecture:    AMD64
Platform:        Windows-10-10.0.22623-SP0

Python exe:      C:\Users\winst\code\briefcase-windows-VisualStudio-template\.venv\Scripts\python.exe
Python version:  3.10.8 (tags/v3.10.8:aaaf517, Oct 11 2022, 16:50:30) [MSC v.1933 64 bit (AMD64)]
Virtual env:     True
Conda env:       False

Briefcase:       0.3.11
Target platform: windows
Target format:   VisualStudio

Environment Variables:
    ALLUSERSPROFILE=C:\ProgramData
    APPDATA=C:\Users\winst\AppData\Roaming
    CAMLIBS=C:\Program Files\darktable\lib\libgphoto2\2.5.29
    COMMONPROGRAMFILES=C:\Program Files\Common Files
    COMMONPROGRAMFILES(X86)=C:\Program Files (x86)\Common Files
    COMMONPROGRAMW6432=C:\Program Files\Common Files
    COMPUTERNAME=SIR-BEDEVERE
    COMSPEC=C:\WINDOWS\system32\cmd.exe
    DRIVERDATA=C:\Windows\System32\Drivers\DriverData
    FPS_BROWSER_APP_PROFILE_STRING=Internet Explorer
    FPS_BROWSER_USER_PROFILE_STRING=Default
    HOMEDRIVE=C:
    HOMEPATH=\Users\winst
    IOLIBS=C:\Program Files\darktable\lib\libgphoto2_port\0.12.0
    LOCALAPPDATA=C:\Users\winst\AppData\Local
    LOGONSERVER=\\SIR-BEDEVERE
    NUMBER_OF_PROCESSORS=8
    ONEDRIVE=C:\Users\winst\OneDrive
    ONEDRIVECONSUMER=C:\Users\winst\OneDrive
    OS=Windows_NT
    PATH=C:\Users\winst\code\briefcase-windows-VisualStudio-template\.venv\Scripts;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Docker\Docker\resources\bin;C:\ProgramData\DockerDesktop\version-bin;C:\Program Files\Git\cmd;C:\Users\winst\AppData\Local\Programs\Python\Python310\Scripts\;C:\Users\winst\AppData\Local\Programs\Python\Python310\;C:\Users\winst\AppData\Local\Microsoft\WindowsApps;C:\Users\winst\AppData\Local\Programs\Microsoft VS Code\bin
    PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
    PROCESSOR_ARCHITECTURE=AMD64
    PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 151 Stepping 5, GenuineIntel
    PROCESSOR_LEVEL=6
    PROCESSOR_REVISION=9705
    PROGRAMDATA=C:\ProgramData
    PROGRAMFILES=C:\Program Files
    PROGRAMFILES(X86)=C:\Program Files (x86)
    PROGRAMW6432=C:\Program Files
    PROMPT=(.venv) $P$G
    PSMODULEPATH=C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules
    PUBLIC=C:\Users\Public
    PYTHONUSERBASE=C:\Users\winst\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages
    SYSTEMDRIVE=C:
    SYSTEMROOT=C:\WINDOWS
    TEMP=C:\Users\winst\AppData\Local\Temp
    TMP=C:\Users\winst\AppData\Local\Temp
    USERDOMAIN=SIR-BEDEVERE
    USERDOMAIN_ROAMINGPROFILE=SIR-BEDEVERE
    USERNAME=winst
    USERPROFILE=C:\Users\winst
    VIRTUAL_ENV=C:\Users\winst\code\briefcase-windows-VisualStudio-template\.venv
    WINDIR=C:\WINDOWS
    WSLENV=WT_SESSION::WT_PROFILE_ID
    WT_PROFILE_ID={0caa0dad-35be-5f56-a8ff-afceeeaa6101}
    WT_SESSION=5b14fbbb-c711-4c9e-aa7e-673f5d2aae9c
    _OLD_VIRTUAL_PATH=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Docker\Docker\resources\bin;C:\ProgramData\DockerDesktop\version-bin;C:\Program Files\Git\cmd;C:\Users\winst\AppData\Local\Programs\Python\Python310\Scripts\;C:\Users\winst\AppData\Local\Programs\Python\Python310\;C:\Users\winst\AppData\Local\Microsoft\WindowsApps;C:\Users\winst\AppData\Local\Programs\Microsoft VS Code\bin
    _OLD_VIRTUAL_PROMPT=$P$G

Briefcase Log:
[08:59:27]                                                                                                                                                                wix.py:100
           [wix] The WiX toolset was not found; downloading and installing...                                                                                             wix.py:100
           Downloading wix311-binaries.zip...                                                                                                                         download.py:79
[09:00:00] Installing WiX... done                                                                                                                                         wix.py:138
                                                                                                                                                                     __init__.py:114
           [verify-pyside2] Building MSI...                                                                                                                          __init__.py:114
           Compiling application manifest...                                                                                                                         __init__.py:117
                                                                                                                                                                   subprocess.py:516
           >>> Running Command:                                                                                                                                    subprocess.py:517
           >>>     'C:\Users\winst\AppData\Local\BeeWare\briefcase\Cache\tools\wix\heat.exe' dir 'x64\Release' -nologo -gg -sfrag -sreg -srd -scom -dr             subprocess.py:518
           verify_pyside2_ROOTDIR -cg verify_pyside2_COMPONENTS -var var.SourceDir -out verify-pyside2-manifest.wxs                                                                 
           >>> Working Directory:                                                                                                                                  subprocess.py:525
           >>>     C:\Users\winst\code\briefcase-windows-VisualStudio-template\tests\apps\verify-pyside2\windows\VisualStudio\Hello PySide2                        subprocess.py:526
[09:01:23] >>> Return code: 2148734720                                                                                                                             subprocess.py:553
           Compiling...                                                                                                                                              __init__.py:118
                                                                                                                                                                      __main__.py:27
           Unable to generate manifest for app verify-pyside2.                                                                                                        __main__.py:28

╭─────────────────────────────────────────────────────────────────────── Traceback (most recent call last) ────────────────────────────────────────────────────────────────────────╮
│ C:\Users\winst\code\briefcase-windows-VisualStudio-template\.venv\lib\site-packages\briefcase\platforms\windows\__init__.py:119 in package_app                                   │
│                                                                                                                                                                                  │
│   116 │   │   try:                                                                                                                                                               │
│   117 │   │   │   self.logger.info("Compiling application manifest...")                                                                                                          │
│   118 │   │   │   with self.input.wait_bar("Compiling..."):                                                                                                                      │
│ ❱ 119 │   │   │   │   self.tools.subprocess.run(                                                                                                                                 │
│   120 │   │   │   │   │   [                                                                                                                                                      │
│   121 │   │   │   │   │   │   self.tools.wix.heat_exe,                                                                                                                           │
│   122 │   │   │   │   │   │   "dir",                                                                                                                                             │
│                                                                                                                                                                                  │
│ ╭────────────────────────────────────────────────────── locals ──────────────────────────────────────────────────────╮                                                           │
│ │    app = <org.beeware.verify-pyside2 v0.0.1 AppConfig>                                                             │                                                           │
│ │ kwargs = {'packaging_format': 'msi', 'sign_app': True, 'adhoc_sign': True, 'identity': None}                       │                                                           │
│ │   self = <briefcase.platforms.windows.visualstudio.WindowsVisualStudioPackageCommand object at 0x00000284EABC6AA0> │                                                           │
│ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯                                                           │
│                                                                                                                                                                                  │
│ C:\Users\winst\code\briefcase-windows-VisualStudio-template\.venv\lib\site-packages\briefcase\integrations\subprocess.py:127 in inner                                            │
│                                                                                                                                                                                  │
│   124 │   │   │   with sub.tools.input.release_console_control():                                                                                                                │
│   125 │   │   │   │   return sub_method(sub, args, **kwargs)                                                                                                                     │
│   126 │   │   else:                                                                                                                                                              │
│ ❱ 127 │   │   │   return sub_method(sub, args, **kwargs)                                                                                                                         │
│   128 │                                                                                                                                                                          │
│   129 │   return inner                                                                                                                                                           │
│   130                                                                                                                                                                            │
│                                                                                                                                                                                  │
│ ╭─────────────────────────────────────────────────────────────────────────────────── locals ───────────────────────────────────────────────────────────────────────────────────╮ │
│ │                    args = [                                                                                                                                                  │ │
│ │                           │   WindowsPath('C:/Users/winst/AppData/Local/BeeWare/briefcase/Cache/tools/wix/heat.exe'),                                                        │ │
│ │                           │   'dir',                                                                                                                                         │ │
│ │                           │   'x64\\Release',                                                                                                                                │ │
│ │                           │   '-nologo',                                                                                                                                     │ │
│ │                           │   '-gg',                                                                                                                                         │ │
│ │                           │   '-sfrag',                                                                                                                                      │ │
│ │                           │   '-sreg',                                                                                                                                       │ │
│ │                           │   '-srd',                                                                                                                                        │ │
│ │                           │   '-scom',                                                                                                                                       │ │
│ │                           │   '-dr',                                                                                                                                         │ │
│ │                           │   ... +7                                                                                                                                         │ │
│ │                           ]                                                                                                                                                  │ │
│ │              executable = 'C:\\Users\\winst\\AppData\\Local\\BeeWare\\briefcase\\Cache\\tools\\wix\\heat.exe'                                                                │ │
│ │                  kwargs = {                                                                                                                                                  │ │
│ │                           │   'check': True,                                                                                                                                 │ │
│ │                           │   'cwd': WindowsPath('C:/Users/winst/code/briefcase-windows-VisualStudio-template/tests/apps/verify-pyside2/windows/VisualStudio/Hello PySide2') │ │
│ │                           }                                                                                                                                                  │ │
│ │ remove_dynamic_elements = False                                                                                                                                              │ │
│ │                     sub = <briefcase.integrations.subprocess.Subprocess object at 0x00000284ECE51C60>                                                                        │ │
│ │              sub_method = <function Subprocess.run at 0x00000284ECD87880>                                                                                                    │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ │
│                                                                                                                                                                                  │
│ C:\Users\winst\code\briefcase-windows-VisualStudio-template\.venv\lib\site-packages\briefcase\integrations\subprocess.py:284 in run                                              │
│                                                                                                                                                                                  │
│   281 │   │   if stream_output or (                                                                                                                                              │
│   282 │   │   │   self.tools.input.is_console_controlled and not is_output_redirected                                                                                            │
│   283 │   │   ):                                                                                                                                                                 │
│ ❱ 284 │   │   │   return self._run_and_stream_output(args, **kwargs)                                                                                                             │
│   285 │   │                                                                                                                                                                      │
│   286 │   │   # Otherwise, invoke run() normally.                                                                                                                                │
│   287 │   │   self._log_command(args)                                                                                                                                            │
│                                                                                                                                                                                  │
│ ╭─────────────────────────────────────────────────────────────────────────────────── locals ───────────────────────────────────────────────────────────────────────────────────╮ │
│ │                 args = [                                                                                                                                                     │ │
│ │                        │   WindowsPath('C:/Users/winst/AppData/Local/BeeWare/briefcase/Cache/tools/wix/heat.exe'),                                                           │ │
│ │                        │   'dir',                                                                                                                                            │ │
│ │                        │   'x64\\Release',                                                                                                                                   │ │
│ │                        │   '-nologo',                                                                                                                                        │ │
│ │                        │   '-gg',                                                                                                                                            │ │
│ │                        │   '-sfrag',                                                                                                                                         │ │
│ │                        │   '-sreg',                                                                                                                                          │ │
│ │                        │   '-srd',                                                                                                                                           │ │
│ │                        │   '-scom',                                                                                                                                          │ │
│ │                        │   '-dr',                                                                                                                                            │ │
│ │                        │   ... +7                                                                                                                                            │ │
│ │                        ]                                                                                                                                                     │ │
│ │ is_output_redirected = None                                                                                                                                                  │ │
│ │               kwargs = {                                                                                                                                                     │ │
│ │                        │   'check': True,                                                                                                                                    │ │
│ │                        │   'cwd': WindowsPath('C:/Users/winst/code/briefcase-windows-VisualStudio-template/tests/apps/verify-pyside2/windows/VisualStudio/Hello PySide2')    │ │
│ │                        }                                                                                                                                                     │ │
│ │                 self = <briefcase.integrations.subprocess.Subprocess object at 0x00000284ECE51C60>                                                                           │ │
│ │        stream_output = False                                                                                                                                                 │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ │
│                                                                                                                                                                                  │
│ C:\Users\winst\code\briefcase-windows-VisualStudio-template\.venv\lib\site-packages\briefcase\integrations\subprocess.py:350 in _run_and_stream_output                           │
│                                                                                                                                                                                  │
│   347 │   │   self._log_return_code(return_code)                                                                                                                                 │
│   348 │   │                                                                                                                                                                      │
│   349 │   │   if check and return_code:                                                                                                                                          │
│ ❱ 350 │   │   │   raise subprocess.CalledProcessError(return_code, args, stderr=stderr)                                                                                          │
│   351 │   │                                                                                                                                                                      │
│   352 │   │   return subprocess.CompletedProcess(args, return_code, stderr=stderr)                                                                                               │
│   353                                                                                                                                                                            │
│                                                                                                                                                                                  │
│ ╭───────────────────────────────────────────────────────────────────────────── locals ──────────────────────────────────────────────────────────────────────────────╮            │
│ │        args = [                                                                                                                                                   │            │
│ │               │   WindowsPath('C:/Users/winst/AppData/Local/BeeWare/briefcase/Cache/tools/wix/heat.exe'),                                                         │            │
│ │               │   'dir',                                                                                                                                          │            │
│ │               │   'x64\\Release',                                                                                                                                 │            │
│ │               │   '-nologo',                                                                                                                                      │            │
│ │               │   '-gg',                                                                                                                                          │            │
│ │               │   '-sfrag',                                                                                                                                       │            │
│ │               │   '-sreg',                                                                                                                                        │            │
│ │               │   '-srd',                                                                                                                                         │            │
│ │               │   '-scom',                                                                                                                                        │            │
│ │               │   '-dr',                                                                                                                                          │            │
│ │               │   ... +7                                                                                                                                          │            │
│ │               ]                                                                                                                                                   │            │
│ │       check = True                                                                                                                                                │            │
│ │      kwargs = {                                                                                                                                                   │            │
│ │               │   'cwd': WindowsPath('C:/Users/winst/code/briefcase-windows-VisualStudio-template/tests/apps/verify-pyside2/windows/VisualStudio/Hello PySide2'), │            │
│ │               │   'stdout': -1,                                                                                                                                   │            │
│ │               │   'stderr': -2,                                                                                                                                   │            │
│ │               │   'bufsize': 1                                                                                                                                    │            │
│ │               }                                                                                                                                                   │            │
│ │     process = <Popen: returncode: 2148734720 args: ['C:\\Users\\winst\\AppData\\Local\\Bee...>                                                                    │            │
│ │ return_code = 2148734720                                                                                                                                          │            │
│ │        self = <briefcase.integrations.subprocess.Subprocess object at 0x00000284ECE51C60>                                                                         │            │
│ │      stderr = None                                                                                                                                                │            │
│ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯            │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
CalledProcessError: Command '[WindowsPath('C:/Users/winst/AppData/Local/BeeWare/briefcase/Cache/tools/wix/heat.exe'), 'dir', 'x64\\Release', '-nologo', '-gg', '-sfrag', '-sreg', '-srd', '-scom', '-dr', 'verify_pyside2_ROOTDIR', '-cg', 'verify_pyside2_COMPONENTS', '-var', 'var.SourceDir', '-out', 'verify-pyside2-manifest.wxs']' returned non-zero exit status 2148734720.

The above exception was the direct cause of the following exception:

╭─────────────────────────────────────────────────────────────────────── Traceback (most recent call last) ────────────────────────────────────────────────────────────────────────╮
│ C:\Users\winst\code\briefcase-windows-VisualStudio-template\.venv\lib\site-packages\briefcase\__main__.py:21 in main                                                             │
│                                                                                                                                                                                  │
│   18 │   │   options = command.parse_options(extra=extra_cmdline)                                                                                                                │
│   19 │   │   command.check_obsolete_data_dir()                                                                                                                                   │
│   20 │   │   command.parse_config(Path.cwd() / "pyproject.toml")                                                                                                                 │
│ ❱ 21 │   │   command(**options)                                                                                                                                                  │
│   22 │   except HelpText as e:                                                                                                                                                   │
│   23 │   │   logger.info()                                                                                                                                                       │
│   24 │   │   logger.info(str(e))                                                                                                                                                 │
│                                                                                                                                                                                  │
│ ╭───────────────────────────────────────────────────────── locals ──────────────────────────────────────────────────────────╮                                                    │
│ │       command = <briefcase.platforms.windows.visualstudio.WindowsVisualStudioPackageCommand object at 0x00000284EABC6AA0> │                                                    │
│ │       Command = <class 'briefcase.platforms.windows.visualstudio.WindowsVisualStudioPackageCommand'>                      │                                                    │
│ │       console = <briefcase.console.Console object at 0x00000284EA680070>                                                  │                                                    │
│ │             e = BriefcaseCommandError('Unable to generate manifest for app verify-pyside2.')                              │                                                    │
│ │ extra_cmdline = ['--adhoc-sign']                                                                                          │                                                    │
│ │        logger = <briefcase.console.Log object at 0x00000284EA6BDFF0>                                                      │                                                    │
│ │       options = {'update': False, 'packaging_format': 'msi', 'sign_app': True, 'adhoc_sign': True, 'identity': None}      │                                                    │
│ │        result = 200                                                                                                       │                                                    │
│ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯                                                    │
│                                                                                                                                                                                  │
│ C:\Users\winst\code\briefcase-windows-VisualStudio-template\.venv\lib\site-packages\briefcase\commands\package.py:108 in __call__                                                │
│                                                                                                                                                                                  │
│   105 │   │   else:                                                                                                                                                              │
│   106 │   │   │   state = None                                                                                                                                                   │
│   107 │   │   │   for app_name, app in sorted(self.apps.items()):                                                                                                                │
│ ❱ 108 │   │   │   │   state = self._package_app(                                                                                                                                 │
│   109 │   │   │   │   │   app, update=update, **full_options(state, options)                                                                                                     │
│   110 │   │   │   │   )                                                                                                                                                          │
│   111                                                                                                                                                                            │
│                                                                                                                                                                                  │
│ ╭─────────────────────────────────────────────────────── locals ───────────────────────────────────────────────────────╮                                                         │
│ │      app = <org.beeware.verify-pyside2 v0.0.1 AppConfig>                                                             │                                                         │
│ │ app_name = 'verify-pyside2'                                                                                          │                                                         │
│ │  options = {'packaging_format': 'msi', 'sign_app': True, 'adhoc_sign': True, 'identity': None}                       │                                                         │
│ │     self = <briefcase.platforms.windows.visualstudio.WindowsVisualStudioPackageCommand object at 0x00000284EABC6AA0> │                                                         │
│ │    state = None                                                                                                      │                                                         │
│ │   update = False                                                                                                     │                                                         │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯                                                         │
│                                                                                                                                                                                  │
│ C:\Users\winst\code\briefcase-windows-VisualStudio-template\.venv\lib\site-packages\briefcase\commands\package.py:53 in _package_app                                             │
│                                                                                                                                                                                  │
│    50 │   │                                                                                                                                                                      │
│    51 │   │   self.verify_app_tools(app)                                                                                                                                         │
│    52 │   │                                                                                                                                                                      │
│ ❱  53 │   │   state = self.package_app(                                                                                                                                          │
│    54 │   │   │   app, packaging_format=packaging_format, **full_options(state, options)                                                                                         │
│    55 │   │   )                                                                                                                                                                  │
│    56                                                                                                                                                                            │
│                                                                                                                                                                                  │
│ ╭─────────────────────────────────────────────────────────────────────────────────── locals ───────────────────────────────────────────────────────────────────────────────────╮ │
│ │              app = <org.beeware.verify-pyside2 v0.0.1 AppConfig>                                                                                                             │ │
│ │      binary_file = WindowsPath('C:/Users/winst/code/briefcase-windows-VisualStudio-template/tests/apps/verify-pyside2/windows/VisualStudio/Hello PySide2/x64/Release/Hello   │ │
│ │                    PySide2.exe')                                                                                                                                             │ │
│ │          options = {'sign_app': True, 'adhoc_sign': True, 'identity': None}                                                                                                  │ │
│ │ packaging_format = 'msi'                                                                                                                                                     │ │
│ │             self = <briefcase.platforms.windows.visualstudio.WindowsVisualStudioPackageCommand object at 0x00000284EABC6AA0>                                                 │ │
│ │            state = None                                                                                                                                                      │ │
│ │    template_file = WindowsPath('C:/Users/winst/code/briefcase-windows-VisualStudio-template/tests/apps/verify-pyside2/windows/VisualStudio/Hello PySide2')                   │ │
│ │           update = False                                                                                                                                                     │ │
│ ╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯ │
│                                                                                                                                                                                  │
│ C:\Users\winst\code\briefcase-windows-VisualStudio-template\.venv\lib\site-packages\briefcase\platforms\windows\__init__.py:143 in package_app                                   │
│                                                                                                                                                                                  │
│   140 │   │   │   │   │   cwd=self.bundle_path(app),                                                                                                                             │
│   141 │   │   │   │   )                                                                                                                                                          │
│   142 │   │   except subprocess.CalledProcessError as e:                                                                                                                         │
│ ❱ 143 │   │   │   raise BriefcaseCommandError(                                                                                                                                   │
│   144 │   │   │   │   f"Unable to generate manifest for app {app.app_name}."                                                                                                     │
│   145 │   │   │   ) from e                                                                                                                                                       │
│   146                                                                                                                                                                            │
│                                                                                                                                                                                  │
│ ╭────────────────────────────────────────────────────── locals ──────────────────────────────────────────────────────╮                                                           │
│ │    app = <org.beeware.verify-pyside2 v0.0.1 AppConfig>                                                             │                                                           │
│ │ kwargs = {'packaging_format': 'msi', 'sign_app': True, 'adhoc_sign': True, 'identity': None}                       │                                                           │
│ │   self = <briefcase.platforms.windows.visualstudio.WindowsVisualStudioPackageCommand object at 0x00000284EABC6AA0> │                                                           │
│ ╰────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯                                                           │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
BriefcaseCommandError: Unable to generate manifest for app verify-pyside2.
freakboy3742 commented 2 years ago

@drewbrew AFAIK, WiX has a .NET requirement of .Net framework 3.5. This is an optional component; but I thought it was provided as part of the Windows CI environment.

It's especially weird that this is only affecting the PySide builds - the Toga and PPB builds both call HEAT as well, but they aren't complaining...

drewbrew commented 2 years ago

This error is on my local box, not the GitHub runner, so needing 3.5 makes sense.

drewbrew commented 1 year ago

Installing the 3.5 framework didn't help, so I'm even more confused.

freakboy3742 commented 1 year ago

Want to see something really fun?

(venv3.10) Z:\beeware\templates\briefcase-windows-visualstudio-template\tests\apps\verify-pyside6>dir "windows\VisualStudio\Hello PySide6\x64\Release\app_packages\PySide6\examples\qml\tutorials\extending\chapter4-customPropertyTypes\__pycache__\
 Volume in drive Z is Shared Folders
 Volume Serial Number is 0000-0000

 Directory of Z:\beeware\templates\briefcase-windows-visualstudio-template\tests\apps\verify-pyside6\windows\VisualStudio\Hello PySide6\x64\Release\app_packages\PySide6\examples\qml\tutorials\extending\chapter4-customPropertyTypes\__pycache__

10/31/2022  09:58 AM             2,868 customPropertyTypes.cpython-310.pyc
               1 File(s)          2,868 bytes
               0 Dir(s)  1,545,930,473,472 bytes free

but:

(venv3.10) Z:\beeware\templates\briefcase-windows-visualstudio-template\tests\apps\verify-pyside6>dir "windows\VisualStudio\Hello PySide6\x64\Release\app_packages\PySide6\examples\qml\tutorials\extending\chapter4-customPropertyTypes\__pycache__\customPropertyTypes.cpython-310.pyc"
 Volume in drive Z is Shared Folders
 Volume Serial Number is 0000-0000

 Directory of Z:\beeware\templates\briefcase-windows-visualstudio-template\tests\apps\verify-pyside6\windows\VisualStudio\Hello PySide6\x64\Release\app_packages\PySide6\examples\qml\tutorials\extending\chapter4-customPropertyTypes\__pycache__

File Not Found

So... the file exists... unless you look for just that file, in which case it doesn't.

freakboy3742 commented 1 year ago

Thanks to Mongoose-Q and davisagli on twitter, it appears Windows has a 260 character limit on file paths. I'm seeing conflicting reports on whether this is or isn't disabled by default on Github Actions - but it's something to investigate.

drewbrew commented 1 year ago

Wow that is truly impressive. Thanks for digging into it!