1

我在 Visual Studio 2010 中有一个 Web 部署项目,无法在 Windows Server 2008 R2 机器上安装并出现错误 1603。打开 msi 日志记录后,我看到:

ERROR  : [06/13/2011 10:54:15:722] [RegisterAspNet]: 
The error indicates that IIS is in 64 bit mode, while this application is a 32 bit application and thus not compatible.

这确实是一个 64 位的盒子,我尝试安装的应用程序池确实是 64 位(启用 32 位应用程序是错误的,应该是这样)....但是我所有的 dll 都是用任何 CPU 构建的并且 vdproj 本身的目标平台设置为 x64 ......所以我不知道为什么会失败。

我也尝试过为服务器启用 IIS 6 兼容性选项,因为我读过其他人遇到过类似问题,这些问题已通过这样做得到解决……但这样做没有任何区别。

有人遇到过这个或有什么建议吗?

更新:有趣的是安装失败并出现两个完全冲突的错误:

Running process 'C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe' with parameters ' -norestart -sn "W3SVC/1/Root/ISV\xxx"' silently...
INFO   : [06/13/2011 12:21:16:329] [RegisterAspNet                          ]: Process Call Result Code: '0'        Process Exit Code: '1'.
ERROR  : [06/13/2011 12:21:16:329] [RegisterAspNet                          ]: The error indicates that IIS is in 32 bit mode, while this application is a 64 bit application and thus not compatible.
INFO   : [06/13/2011 12:21:16:329] [RegisterAspNet                          ]: Trying 32 bit version of 'aspnet_regiis.exe'...
INFO   : [06/13/2011 12:21:16:329] [RegisterAspNet                          ]: Reading registry value Path from key 'HKLM\Software\Microsoft\ASP.NET\4.0.30319.0'...
INFO   : [06/13/2011 12:21:16:329] [RegisterAspNet                          ]: RESULT   Path = 
INFO   : [06/13/2011 12:21:16:329] [RegisterAspNet                          ]: Running process 'C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe' with parameters ' -norestart -sn "W3SVC/1/Root/ISV\xxx"' silently...
INFO   : [06/13/2011 12:21:16:438] [RegisterAspNet                          ]: Process Call Result Code: '0'        Process Exit Code: '1'.
ERROR  : [06/13/2011 12:21:16:438] [RegisterAspNet                          ]: The error indicates that IIS is in 64 bit mode, while this application is a 32 bit application and thus not compatible.
ERROR  : [06/13/2011 12:21:16:438] [RegisterAspNet                          ]: FAILED:  -2147024895
ERROR  : [06/13/2011 12:21:16:438] [RegisterAspNet                          ]: Custom Action failed with code: '0'
INFO   : [06/13/2011 12:21:16:438] [RegisterAspNet                          ]: Custom Action completed with return code: '1'

在上面,它说 IIS 处于 32 位模式......然后它说它处于 64 位模式......不知道这里发生了什么......

4

1 回答 1

0

在类似的 VS2010 Web 应用程序部署项目(多年来一直运行良好)中更改自定义操作时,我突然开始在我的测试服务器上收到完全相同的错误序列。谷歌把我带到了这里和许多类似的页面,例如应用程序安装错误 IIS is in 32 bit mode AND IIS is in 64 bit mode/但是我的 URL 路径中没有\或任何其他非字母字符!..

评论了所有新的代码更改,重建,重试..不高兴-同样的错误。嗯?

以前构建.msi的包表现出完全相同的行为(就在几天前工作正常!),所以我认为问题一定是特定于机器的。
嗯,是的,我也在玩一些 AppPool 设置,微调所需的模块。但这把 IIS 搞得一团糟,以至于现有网站可以工作,但不能安装新网站?!被迫重新安装 { ASP.NET | 信息系统 | 上面的其他网络应用程序}并没有让我微笑..

最后我注意到下面的列表中有一个 webapp Default Web Site- 我正在对其进行更改.. 嗯?!但是在“自定义操作失败:1603”错误之后,所有最近的安装都回滚了,那么在这里做了什么

好吧,事实证明我的第一次尝试在新代码中出现异常而失败。据报道,但 MSI 没有回滚安装。随后的每一次尝试都只是偶然发现了已经存在的文件和文件夹。
因此,在重试之前必须手动清理 borked install session的剩余部分。合乎逻辑。
一旦我删除了这些,所有.msi的(旧的和新的)都像以前一样开始完美地工作。闪亮的!:)

但是想象一下,如果错误消息说“文件已经存在..”之类的东西,修复会有多容易?
要引用链接页面的答案:Somebody at Microsoft has to die for this. :)

于 2019-08-15T18:00:24.463 回答