问题描述
]大侠急救:clickonce发布时选择了从与我的应用程序相同的位置下载系统必备组件发布成功后在本地可以成功安装,但部署到IIS上通过访问url来安装时却只把setup.exe下载到本地,所选的系统必备组件并没有下载导致无法安装。安装时的日志如下:请大家参考红色字体分析下原因,谢谢。Thefollowingpropertieshavebeenset:Property:[AdminUser]=true{boolean}Property:[InstallMode]=SameSite{string}Property:[ProcessorArchitecture]=AMD64{string}Property:[VersionNT]=6.1.1{version}Runningchecksforpackage'WindowsInstaller3.1',phaseBuildListThefollowingpropertieshavebeensetforpackage'WindowsInstaller3.1':Runningchecksforcommand'WindowsInstaller3_1WindowsInstaller-KB893803-v2-x86.exe'Resultofrunningoperator'VersionGreaterThanOrEqualTo'onproperty'VersionMsi'andvalue'3.1':trueResultofchecksforcommand'WindowsInstaller3_1WindowsInstaller-KB893803-v2-x86.exe'is'Bypass''WindowsInstaller3.1'RunCheckresult:NoInstallNeededRunningchecksforpackage'Microsoft.NETFramework4(x86和x64)',phaseBuildListReadingvalue'Version'ofregistrykey'HKLMSoftwareMicrosoftNETFrameworkSetupNDPv4Full'UnabletoreadregistryvalueNotsettingvalueforproperty'DotNet40Full_TargetVersion'Readingvalue'Version'ofregistrykey'HKLMSoftwareMicrosoftNETFrameworkSetupNDPv4Full2052'UnabletoreadregistryvalueNotsettingvalueforproperty'DotNet40FullLangPack_TargetVersion'Thefollowingpropertieshavebeensetforpackage'Microsoft.NETFramework4(x86和x64)':Runningchecksforcommand'DotNetFX40dotNetFx40_Full_x86_x64.exe'Resultofrunningoperator'ValueEqualTo'onproperty'InstallMode'andvalue'HomeSite':falseSkippingByPassIfbecauseProperty'DotNet40Full_TargetVersion'wasnotdefinedResultofrunningoperator'ValueEqualTo'onproperty'AdminUser'andvalue'false':falseResultofrunningoperator'VersionLessThan'onproperty'VersionNT'andvalue'5.1.2':falseResultofrunningoperator'ValueEqualTo'onproperty'ProcessorArchitecture'andvalue'IA64':falseResultofchecksforcommand'DotNetFX40dotNetFx40_Full_x86_x64.exe'is'Install'Runningchecksforcommand'DotNetFX40dotNetFx40_Full_setup.exe'Resultofrunningoperator'ValueNotEqualTo'onproperty'InstallMode'andvalue'HomeSite':trueResultofchecksforcommand'DotNetFX40dotNetFx40_Full_setup.exe'is'Bypass'Runningchecksforcommand'DotNetFX40dotNetFx40LP_Full_x86_x64zh-Hans.exe'SkippingByPassIfbecauseProperty'DotNet40FullLangPack_TargetVersion'wasnotdefinedResultofrunningoperator'ValueEqualTo'onproperty'AdminUser'andvalue'false':falseResultofrunningoperator'VersionLessThan'onproperty'VersionNT'andvalue'5.1.2':falseResultofrunningoperator'ValueEqualTo'onproperty'ProcessorArchitecture'andvalue'IA64':falseResultofchecksforcommand'DotNetFX40dotNetFx40LP_Full_x86_x64zh-Hans.exe'is'Install''Microsoft.NETFramework4(x86和x64)'RunCheckresult:InstallNeededEULAforcomponents'Microsoft.NETFramework4(x86和x64)'wasaccepted.Copyingfilestotemporarydirectory"C:UsersADMINI~1AppDataLocalTempVSD5C4B.tmp"File'C:UsersAdministratorAppDataLocalMicrosoftWindowsTemporaryInternetFilesContent.IE5R0V75D80DotNetFX40dotNetFx40LP_Full_x86_x64zh-Hans.exe'notfound.Skippingfilecopy.File'C:UsersAdministratorAppDataLocalMicrosoftWindowsTemporaryInternetFilesContent.IE5R0V75D80DotNetFX40dotNetFx40_Full_x86_x64.exe'notfound.Skippingfilecopy.Error:未能找到下列包文件:C:UsersAdministratorAppDataLocalMicrosoftWindowsTemporaryInternetFilesContent.IE5R0V75D80DotNetFX40dotNetFx40LP_Full_x86_x64zh-Hans.exeC:UsersAdministratorAppDataLocalMicrosoftWindowsTemporaryInternetFilesContent.IE5R0V75D80DotNetFX40dotNetFx40_Full_x86_x64.exe
解决方案
解决方案二:
既然“从我的应用程序相同的位置下载系统必备组件”,那么你的这个目录下部署有那些需要的文件吗?
解决方案三:
把.net打包进来。下载遇上网络不好就出错了。
解决方案四:
引用1楼sp1234的回复:
既然“从我的应用程序相同的位置下载系统必备组件”,那么你的这个目录下部署有那些需要的文件吗?
有的,不通过iis安装的时候是没问题的
解决方案五:
“通过iis安装的时候”?你的路径是C:UsersAdministratorAppDataLocalMicrosoftWindowsTempora......,这说明你根本没有配置安装weburl式的(起码以http://协议开头的url)安装路径。
解决方案六:
如果是“从我的应用程序相同的位置下载系统必备组件”,那么你应该在打包之后,就先去看看本地file://系统的发布目录下包括哪些文件。并且贴出来其目录。不用去安装到什么IIS上,先把本地发布目录下的东西贴出来。最后再看看你传到IIS的虚拟目录下的文件是否完整。
解决方案七:
引用5楼sp1234的回复:
如果是“从我的应用程序相同的位置下载系统必备组件”,那么你应该在打包之后,就先去看看本地file://系统的发布目录下包括哪些文件。并且贴出来其目录。不用去安装到什么IIS上,先把本地发布目录下的东西贴出来。最后再看看你传到IIS的虚拟目录下的文件是否完整。
这是发布后目录里的文件IIS直接绑定的这个目录