简体   繁体   English

VS2010安装项目冻结'选择安装文件夹'

[英]VS2010 Setup Project Freezes on 'Select Installation Folder'

I have a pretty basic c# winforms project that has an associated setup project. 我有一个非常基本的c#winforms项目,它有一个相关的安装项目。 It has one custom dialog (Textboxes (A)). 它有一个自定义对话框(文本框(A))。 When I run the installer, it freezes when I click Next to go to the Select Installation Folder dialog. 当我运行安装程序时,当我单击“ Next转到“ Select Installation Folder对话框时,它会冻结。 Then after several minutes, it unfreezes. 几分钟后,它解冻了。 When I finally click Install , the window disappears but msiexec.exe is still running in the background (two of them actually). 当我最终单击Install ,窗口消失但msiexec.exe仍在后台运行(实际上有两个)。

Could someone please tell me what the heck is going wrong? 有人可以告诉我到底出了什么问题吗?

EDIT: Here's the msiexec log: http://www.mediafire.com/?jqmmimwjgni 编辑:这是msiexec日志: http//www.mediafire.com/? jqmmimwjgni

The problem does not seem to be the length of the name, but the fact that the name DATABASE is used as an internal MSI property containing the full filename of the installer file 1 . 问题似乎不是名称的长度,而是名称DATABASE用作包含安装程序文件1的完整文件名的内部MSI属性。

If you bind your edit field to that property the value of this property will be overwritten with whatever the edit field contains. 如果将编辑字段绑定到该属性,则将使用编辑字段包含的任何内容覆盖此属性的值。

MSI doesn't like that. MSI不喜欢这样。 Unfortunately, I could not find any place where it is documented that the name DATABASE is reserved (The built-in MSI properties are documented here ). 不幸的是,我无法找到它的记载, 在名称数据库被保留 (内建MSI属性记录任何地方在这里 )。 So I wouldn't say this is a bug in MSI, but bad documentation/developer usability (as it is unfortunately too often the case with Windows Installer). 所以我不会说这是MSI中的一个错误,但文档/开发人员的可用性很差(不幸的是,Windows Installer的情况经常发生)。

In your log file you will find the following entries: 在日志文件中,您将找到以下条目:

MSI (c) (64:1C) [19:30:12:339]: PROPERTY CHANGE: Modifying DATABASE property. MSI(c)(64:1C)[19:30:12:339]:PROPERTY CHANGE:修改DATABASE属性。 Its current value is 'd:\\ ... mysetup.msi'. 它的当前值是'd:\\ ... mysetup.msi'。 Its new value: 'ProgressNotes'. 它的新价值:'ProgressNotes'。

And later on when the installer is hanging: 以后安装程序挂起时:

MSI (c) (64:68) [19:30:41:701]: Note: 1: 1314 2: ProgressNotes MSI(c)(64:68)[19:30:41:701]:注意:1:1314 2:ProgressNotes

Here should probably appear the full path to your MSI file... 这里应该可能出现MSI文件的完整路径......

Solution: Use any other name that is not reserved. 解决方案:使用未保留的任何其他名称。

1 You can easily see this if you set Edit1Property to 'DBProperty' and Edit1Value to '[DATABASE]' (without the single quotes). 1 如果将Edit1Property设置为“DBProperty”并将Edit1Value设置为“[DATABASE]”(不带单引号),则可以轻松看到此信息。

I found it! 我找到了! I'm pretty sure this is a bug of some sort with the Setup project (can someone else confirm this?). 我很确定这是安装项目的某种错误(其他人可以确认这个吗?)。

EDIT : See 0xA3's answer for the real reason as to why this fails. 编辑 :请参阅0xA3的答案,了解为什么失败真正原因

Steps to reproduce: 重现步骤:

  1. Add Textboxes (A) . 添加Textboxes (A)
  2. Add a set one of the Edit1Property , Edit2Property etc to DATABASE something GREATER than 7 characters . 添加一组的一个Edit1PropertyEdit2Property等,以DATABASE 的东西比 7个字符
  3. Rebuild and install the project (it should hang on the Select Installation Folder screen). 重建并安装项目(它应挂在“ Select Installation Folder屏幕上)。

Hope this helps someone. 希望这有助于某人。

PS - Worst bug ever to track down :) PS - 有史以来最糟糕的追踪:)

A bug report has been logged with Microsoft. Microsoft 已记录错误报告。

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

相关问题 使用自动更新功能vs2010设置项目 - Setup project with autoupdate feature vs2010 VS2010安装项目升级和快捷方式 - VS2010 Setup Project Upgrade and Shortcuts 使用VS2010在安装程序安装过程中安装Windows Service - Install Windows Service during Setup installation using VS2010 VS2010中的错误打开解决方案-此安装不支持项目类型 - Error opening solution in VS2010 - The project type is not supported by this installation 在VS2010安装项目中为快捷方式设置正确的图标 - Setting correct icon for Shortcut in VS2010 Setup Project VS2010使用C ++ 2008 Redistributables安装项目? - VS2010 Setup Project with C++ 2008 Redistributables? 构建XNA解决方案(在VS2010中)冻结 - Building XNA solution (in VS2010) freezes 使用InstallShield限量版在VS2010中为Windows窗体应用程序创建安装设置 - Create a Installation setup for a windows form application in VS2010 using InstallShield limited edition VS2010 Building Installer安装失败 - VS2010 Building Installer Failing on Setup 什么应该是VS2010设置的DefaultLocation属性,以便在C:\\ Users \\ [用户名] \\ AppData \\ Local文件夹中安装应用程序? - What should be DefaultLocation property of VS2010 setup to install application in C:\Users\[username]\AppData\Local folder?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM