Answer
Two things to check specifically: first, confirm the filename entered in the report's definition exactly matches the actual physical file's name on disk, including case and extension. Second, and often overlooked, confirm the layout file was copied into the correct language-specific subfolder matching whichever language is actually selected in the Print Dialog at print time — Crystal Web Service's configured layout root folder (from its OpenReportPath setting) contains one subfolder per language code (e.g. 'en', 'sv'), and a layout copied only into one language's folder produces exactly this 'does not exist' error if a different language is selected when printing, even though the file genuinely exists under the root path.