0

我的插件目标 64 位 Excel 需要 .NET 4 客户端配置文件。当我构建安装程序(VS 安装项目)时,我将 .NET 4 客户端配置文件放在先决条件中。
当我在没有 .NET Framework 4 客户端配置文件的 PC 上安装我的插件时,我的安装程序会尝试下载并安装它。

但是,安装失败。我有管理员权限,所以没有权限问题。IT 人员告诉我 .NET 4 Web 安装程序存在一些证书问题,我必须使用完整安装程序。

然后我在先决条件中用 .NET 4 替换了 .NET 4 客户端配置文件。但它也没有奏效。安装程序给出了几乎相同的错误。

但是,如果我下载 .NET 4 安装并在安装插件之前手动安装它,它会毫无问题地安装。

这是错误消息:(在先决条件中使用 .NET 4 客户端配置文件)...。

运行检查包“Microsoft .NET Framework 4 客户端配置文件(x86 和 x64)”,阶段 BeforePackage 读取注册表项“HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Client”的值“版本”无法读取注册表值 未设置属性“DotNet40Client_TargetVersion”的值 已为包“Microsoft .NET Framework 4 客户端配置文件(x86 和 x64)”设置以下属性: 运行命令“DotNetFX40Client\dotNetFx40_Client_setup.exe”检查运行运算符“ValueNotEqualTo”的结果在属性“InstallMode”和值“HomeSite”上:false 由于未定义属性“DotNet40Client_TargetVersion”而跳过 ByPassIf 在属性“AdminUser”上运行运算符“ValueEqualTo”的结果和值“false”:false 在属性“VersionNT”和值“5.1.2”上运行运算符“VersionLessThan”的结果:false 在属性“ProcessorArchitecture”和值“IA64”上运行运算符“ValueEqualTo”的结果:false 检查结果对于命令“DotNetFX40Client\dotNetFx40_Client_setup.exe”是“安装”“Microsoft .NET Framework 4 客户端配置文件(x86 和 x64)”运行检查结果:需要安装验证 C:\Users\MyName\AppData\Local\Temp\VSD54E2 的文件完整性.tmp\DotNetFX40Client\dotNetFx40_Client_setup.exe WinVerifyTrust 返回 0 文件受信任 使用命令“C:\Users\MyName\AppData\Local\Temp\VSD54E2.tmp\DotNetFX40Client\dotNetFx40_Client_setup.exe”和参数“安装”/q /norestart /ChainingPackage ClientX64ClickOnce /lcid 1033' 进程退出,代码为 -2146762482 安装后包“Microsoft .NET Framework 4 Client Profile (x86 and x64)”的状态为“InstallFailed”

编辑:我将 .NET Framework 4 客户端配置文件更改为 .NET Framework 4,安装程序仍然失败,但我收到的错误消息略有不同。

组件 Microsoft .NET Framework 4(x86 和 x64)安装失败,并显示以下错误消息:“尝试安装 .NET Framework 4 Full 时发生故障。”

以下组件安装失败: - Microsoft .NET Framework 4(x86 和 x64)

有关详细信息,请参阅位于“C:\Users***\AppData\Local\Temp\VSD2403.tmp\install.log”的安装日志文件。

日志文件是:文件受信任运行检查包“Microsoft .NET Framework 4(x86 和 x64)”,阶段 BeforePackage 读取注册表项“HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Full”的值“版本” '无法读取注册表值未设置属性'DotNet40Full_TargetVersion'的值已为包'Microsoft .NET Framework 4(x86和x64)'设置以下属性:运行检查命令'DotNetFX40\dotNetFx40_Full_setup.exe'运行运算符的结果属性“InstallMode”和值“HomeSite”上的“ValueNotEqualTo”:错误跳过 ByPassIf,因为未定义属性“DotNet40Full_TargetVersion”在属性“AdminUser”和值“false”上运行运算符“ValueEqualTo”的结果:false 在属性“VersionNT”和值“5.1.2”上运行运算符“VersionLessThan”的结果:false 在属性“ProcessorArchitecture”和值“IA64”上运行运算符“ValueEqualTo”的结果:false 检查命令“DotNetFX40\dotNetFx40_Full_setup”的结果.exe' is 'Install' 'Microsoft .NET Framework 4 (x86 and x64)' RunCheck result: Install Needed Verifying file integrity of C:\Users\yhou\AppData\Local\Temp\VSD2403.tmp\DotNetFX40\dotNetFx40_Full_setup.exe WinVerifyTrust 返回 0 文件受信任 使用命令“C:\Users\yhou\AppData\Local\Temp\VSD2403.tmp\DotNetFX40\dotNetFx40_Full_setup.exe”和参数“/q /norestart /ChainingPackage FullX64Bootstrapper /lcid 1033”安装进程退出,代码为 -2146762482 安装后包“Microsoft .NET Framework 4(x86 和 x64)”的状态为“InstallFailed”

4

2 回答 2

1

我将注册表键值状态更改为 0x23c00,完美运行!!!

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\WinTrust\Trust Providers\Software Publishing
    State    REG_DWORD    0x23c00

有关详细信息,请参阅 http://social.technet.microsoft.com/Forums/en-US/w7itproperf/thread/c273df3c-cdb9-4572-989f-446b4b390b24/

于 2011-08-09T22:38:42.937 回答
0

我过去有过这个问题。我将要求从 Framework 4 Client 更改为 Framework 4,它解决了这个问题。

希望这可以帮助。

于 2011-08-04T23:23:44.087 回答