Google chrome Headless Chrome在IIS下失败,但在命令行上工作

Google chrome Headless Chrome在IIS下失败,但在命令行上工作,google-chrome,iis,headless,Google Chrome,Iis,Headless,我使用优秀的ChromeHtmlToPDF库包装无头铬合金。我们正在使用它从网站动态呈现PDF。这在IIS express下可以在本地工作,在作为控制台应用程序重新编译时也可以在服务器上工作,因此该技术可以工作。但是,在IIS下运行时,chrome总是立即退出,并返回“一个或多个参数无效”的错误 经过几个小时的研究,我终于解决了这个问题,在我自己的用户(受限IIS用户)下运行它,然后比较优秀的microsoft process monitor生成的活动日志 我找到了一个目录的文件权限:C:\Wi

我使用优秀的ChromeHtmlToPDF库包装无头铬合金。我们正在使用它从网站动态呈现PDF。这在IIS express下可以在本地工作,在作为控制台应用程序重新编译时也可以在服务器上工作,因此该技术可以工作。但是,在IIS下运行时,chrome总是立即退出,并返回“一个或多个参数无效”的错误

经过几个小时的研究,我终于解决了这个问题,在我自己的用户(受限IIS用户)下运行它,然后比较优秀的microsoft process monitor生成的活动日志

我找到了一个目录的文件权限:C:\Windows\System32\config\systemprofile\AppData\Local\Google\Chrome\User Data

应用程序池用户需要对此目录的写入+修改权限。这取决于你是否觉得这是一个可接受的安全风险;然而,对我们来说,现在是这样

这是headless chrome存储crashpad目录的地方。再多的参数篡改似乎也无法阻止它这样做。这似乎是一个错误


希望这对其他人有帮助,我在这上面什么都找不到

您可以通过向Chrome传递自定义用户配置文件目录来解决此问题:

chrome.exe --user-data-dir="C:\NewChromeProfile" ...

此目录将由运行Chrome的帐户创建,因此该帐户将具有所需的权限。

您的回答让我找到了我的目录,我认为这更简单。非常感谢。啊哈!杰出的下次我需要做这件事时,我会试试你的办法。