{"record":{"id":"afc380cb7c98a612","repo":"ytdl-org/youtube-dl","slug":"this-feature-does-not-work-from-bundled-exe-run-y","errorCode":null,"errorMessage":"This feature does not work from bundled exe. Run youtube-dl from sources.","messagePattern":"This feature does not work from bundled exe\\. Run youtube-dl from sources\\.","errorType":"exception","errorClass":"ExtractorError","httpStatus":null,"severity":"error","filePath":"youtube_dl/extractor/ivi.py","lineNumber":144,"sourceCode":"                query = {}\n\n            video_json = self._download_json(\n                self._LIGHT_URL, video_id,\n                'Downloading video JSON', data=content_data, query=query)\n\n            error = video_json.get('error')\n            if error:\n                origin = error.get('origin')\n                message = error.get('message') or error.get('user_message')\n                extractor_msg = 'Unable to download video %s'\n                if origin == 'NotAllowedForLocation':\n                    self.raise_geo_restricted(message, self._GEO_COUNTRIES)\n                elif origin == 'NoRedisValidData':\n                    extractor_msg = 'Video %s does not exist'\n                elif site == 353:\n                    continue\n                elif bundled:\n                    raise ExtractorError(\n                        'This feature does not work from bundled exe. Run youtube-dl from sources.',\n                        expected=True)\n                elif not pycryptodomex_found:\n                    raise ExtractorError(\n                        'pycryptodomex not found. Please install it.',\n                        expected=True)\n                elif message:\n                    extractor_msg += ': ' + message\n                raise ExtractorError(extractor_msg % video_id, expected=True)\n            else:\n                break\n\n        result = video_json['result']\n        title = result['title']\n\n        quality = qualities(self._KNOWN_FORMATS)\n\n        formats = []","sourceCodeStart":126,"sourceCodeEnd":162,"githubUrl":"https://github.com/ytdl-org/youtube-dl/blob/956b8c585591b401a543e409accb163eeaaa1193/youtube_dl/extractor/ivi.py#L126-L162","documentation":"Raised by the ivi.ru extractor when the signed-request path (site 353, which needs Cryptodome CMAC/Blowfish to sign requests) returned an API error, but the process is a frozen/bundled executable (sys.frozen). Bundled builds cannot import the required crypto code path, so the extractor tells the user to run from sources.","triggerScenarios":"Running a PyInstaller-style frozen youtube-dl build; the ivi API responds with an error object while iterating site 353, the 'bundled' flag is true, and control falls into the bundled branch of the error handler.","commonSituations":"Users of third-party frozen youtube-dl executables; the standalone exe ships without a working Cryptodome import, so any ivi request needing signed retries fails with this message.","solutions":["Run youtube-dl from a source checkout or via pip instead of the bundled exe.","Install pycryptodomex into the environment used by the non-bundled run.","Switch to yt-dlp, whose ivi support and packaging do not have this limitation."],"exampleFix":"// before\n# frozen youtube-dl.exe\nyoutube-dl.exe 'http://www.ivi.ru/watch/12345'\n# => This feature does not work from bundled exe.\n\n// after\npip install youtube-dl pycryptodomex\nyoutube-dl 'http://www.ivi.ru/watch/12345'","handlingStrategy":"fallback","validationCode":"import sys\nif hasattr(sys, 'frozen'):\n    # frozen build: route ivi URLs to a source install / different tool\n    use_alternate_tool_for('ivi')","typeGuard":null,"tryCatchPattern":"try:\n    ydl.extract_info(ivi_url)\nexcept ExtractorError as e:\n    if 'bundled exe' in str(e):\n        rerun_via_source_install(ivi_url)","preventionTips":["Detect sys.frozen at startup and disable ivi support for frozen builds.","Ship ivi downloads through a pip-installed youtube-dl with pycryptodomex available.","Prefer yt-dlp for ivi when packaging constraints exist."],"tags":["environment","packaging","extractor","ivi","crypto","bundled-exe"],"backgroundTag":null,"analyzedSha":"956b8c585591b401a543e409accb163eeaaa1193","analyzedAt":"2026-08-14T18:59:47.863Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}