我已经在WiX(3.8)中创建了一个Web服务器设置,它被正确安装,但是当我修复它时,我得到一个错误'安装过程中致命错误'并且该过程被回滚。下面是我在日志
中看到的内容MSI (s) (F8:C4) [12:39:26:183]: Executing op: CustomActionSchedule(Action=WriteIIS7ConfigChanges,ActionType=11265,Source=BinaryData,Target=**********,CustomActionData=**********)
MSI (s) (F8:F8) [12:39:26:188]: Invoking remote custom action. DLL: C:WINDOWSInstallerMSI7B14.tmp, Entrypoint: WriteIIS7ConfigChanges
WriteIIS7ConfigChanges: Error 0x80070002: Site not found for create application
WriteIIS7ConfigChanges: Error 0x80070002: Failed to configure IIS application.
WriteIIS7ConfigChanges: Error 0x80070002: WriteIIS7ConfigChanges Failed.
CustomAction WriteIIS7ConfigChanges returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)
Action ended 12:39:26: InstallFinalize. Return value 3.
我错过了什么吗?任何帮助都是感激的,提前感谢:)
如果这是一个修复并且站点名称丢失,那么很可能它是在原始安装的UI对话框中输入的。在修复中,没有UI来重新输入站点名称,并且不会自动保存属性。它可能正在尝试配置一个没有名称的站点。一般来说,处理这类事情的最佳方法是在站点名称上使用WiX remember属性模式,以便将其保存下来并可用于修复。我不知道在这种特殊情况下这是否会是一件好事,因为我不知道是否在现有配置更改的基础上再次编写配置更改将工作或由代码正确处理。原始安装的详细日志应该告诉您哪些属性名称被用于站点名称等。
如果您认为IIS配置更改不太可能破坏并且不需要修复,您可以考虑在CA的条件中添加"未安装",以便修复不会调用它。