简体   繁体   English

Visual Studio 2010 Web 部署项目错误

[英]Visual Studio 2010 Web Deployment Project Error

I have a web deployment project in Visual Studio 2010 that is failing to install on a Windows Server 2008 R2 box with error 1603. After turning on msi logging, I see:我在 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.

This is indeed a 64 bit box and the app pool I'm trying to install to is indeed 64 bit (Enable 32 bit applications is false, and should be this way)....but all of my dlls are built with Any CPU and the vdproj itself has target platform set to x64...so I don't know why this is failing.这确实是一个 64 位的盒子,我尝试安装的应用程序池确实是 64 位(启用 32 位应用程序是错误的,应该是这样)....但是我所有的 dll 都是用任何 CPU 构建的并且 vdproj 本身的目标平台设置为 x64 ......所以我不知道为什么会失败。

I've also tried enabling IIS 6 Compatibility options for the server, as I've read about others who have had similar problems that have been fixed by doing this...but do so makes no difference.我也尝试过为服务器启用 IIS 6 兼容性选项,因为我读过其他人遇到过类似问题,这些问题已通过这样做得到解决……但这样做并没有什么区别。

Anyone encountered this or have any suggestions?有人遇到过这个或有什么建议吗?

UPDATE: Sort of interesting is that the install fails with two completely conflicting errors:更新:有趣的是安装失败并出现两个完全冲突的错误:

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'

In the above, it says IIS is in 32 bit mode...then it says it's in 64 bit mode...not sure what's going on here...在上面,它说 IIS 处于 32 位模式......然后它说它处于 64 位模式......不知道这里发生了什么......

While making changes to Custom Actions in a similar VS2010 Web App Deployment project (which worked perfectly for years), i suddenly started receiving the same exact error sequence on my test server.在类似的 VS2010 Web 应用程序部署项目(多年来一直运行良好)中更改自定义操作时,我突然开始在我的测试服务器上收到相同的错误序列。 Google brought me here and to many similar pages, eg Application installation error IIS is in 32 bit mode AND IIS is in 64 bit mode .谷歌把我带到了这里和许多类似的页面,例如应用程序安装错误 IIS is in 32 bit mode AND IIS is in 64 bit mode But there are no / , \ or any other non-letter characters in my URL paths...但是我的 URL 路径中没有/\或任何其他非字母字符...

Commented all the new code changes, rebuilt, retried.. no joy - same errors.评论了所有新的代码更改,重建,重试......不高兴 - 同样的错误。 Hm?嗯?

Previously built .msi packages showed exactly the same behavior (working fine just a few days ago,).以前构建的.msi包表现出完全相同的行为(就在几天前工作正常)。 so i figured that the problem must be machine specific.所以我认为问题必须是特定于机器的。
Well, yes i was also playing with some AppPool settings, fine-tuning the desired mods.嗯,是的,我也在玩一些 AppPool 设置,微调所需的模块。 But this messing up IIS so badly, that while existing sites work, new ones cannot be installed?.但这把 IIS 搞得一团糟,以至于现有站点可以正常工作,但不能安装新站点? A perspective of being forced to reinstall { ASP.NET |被迫重装的视角{ ASP.NET | IIS | IIS | other web-apps on top of it } did not make me smile..上面的其他网络应用程序}并没有让我微笑..

Then finally i noticed a webapp in the list under Default Web Site - the one i'm making changes to.. Hm?: But all recent installations rolled back after "Custom Action failed, 1603" error, so what is it doing here ??最后我注意到Default Web Site下的列表中有一个 webapp - 我正在更改的那个.. 嗯?:但是最近的所有安装都在“自定义操作失败,1603”错误之后回滚,那么在这里做什么? ?

Well, it turns out my very first try failed with exception in new code.好吧,事实证明我的第一次尝试在新代码中出现异常而失败。 It was reported, but MSI did not roll back the installation .据报道,但 MSI 没有回滚安装 Every subsequent attempt was simply stumbling on files and folders that already existed.随后的每一次尝试都只是偶然发现了已经存在的文件和文件夹。
So, leftovers from borked install session must be cleaned up manually before retries .因此,在重试之前必须手动清理 borked install session 的剩余物 Logical.合乎逻辑。
Once i deleted those, all .msi s (old and new) started working again perfectly as before.一旦我删除了这些,所有.msi s(旧的和新的)都像以前一样开始完美地工作。 Shiny: :) Shiny::)

But imagine how easy would it be to fix, if the error message said smth like "File already exists.."?但是想象一下,如果错误消息说“文件已经存在..”之类的东西,修复会有多容易?
To quote an answer from linked page: Somebody at Microsoft has to die for this. :)引用链接页面的答案: Somebody at Microsoft has to die for this. :) Somebody at Microsoft has to die for this. :)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM