VisualStudio MSI 引导加载程序错误和替换

发布于 2024-07-13 00:14:54 字数 658 浏览 6 评论 0原文

现在,我正在使用 Visual Studio 创建一个 msi 和一个 setup.exe。 它运作得很好......直到最近。
我最近向 msi 添加了一个带有组合框控件的新对话框。 现在,当我直接使用 msi 安装应用程序时,一切正常。
但是当我运行Setup.exe时,ComboBox无法正确显示。 它在下拉列表中一次仅显示一个元素。 所有元素仍然存在,我什至可以使用向上/向下键或字母(例如,SQL Server 的“S”)来选择它们。

以前有人见过这种问题吗? 此外,当我使用InstallShield创建安装程序时,InstallShield创建的exe再次运行良好。

所以我想我需要用 Visual Studio 修复这个问题。 有什么想法如何修复视觉工作室引导程序吗?

平台

使用 Visual Studio 2005 进行构建。

操作系统:Windows XP SP3。

构建机器安装了 Windows Installer 4.5,但这不是先决条件。 msi 本身可以与 Windows Installer 3 一起正常运行。

此外,问题不在于安装程序退出太快,或者安装不正确...确实如此。 唯一的问题是组合框显示不正确,这可能会让一些用户感到困惑。

Right now, I am creating an msi and a setup.exe using the Visual Studio. It works quite well... till recently.
I recently added a new dialog box with a Combo Box Control to the msi. Now when I install the app directly using the msi, everything is works just fine.
But when I run the Setup.exe, the ComboBox is not displayed correctly. It only displays one element at a time in the drop down list. All the elements are still there, and I can even select them using the Up/Down keys or the letters ('S' for SQL Server, for instance).

Has anyone seen this kind of a problem before? Moreover, when I use InstallShield to create the setup, the exe created by InstallShield again runs fine.

So I suppose I need to fix the one with Visual Studio. Any ideas how to do fix the visual studio bootstrapper?

Platform:

Using Visual Studio 2005 for the builds.

OS: Windows XP SP3.

The build machine has Windows Installer 4.5 installed, but its not a pre-req.
The msi itself runs fine with Windows Installer 3.

Also, the problem is not that the setup exits too fast, or that it doesnt install properly... It does. The only issue is that the Combo Box is not displayed properly and that might confuse some users.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

|煩躁 2024-07-20 00:14:54

您使用的是哪个版本的 Visual Studio? 你用的是VS2008 SP1吗?

SP1 中引入的此版本的 Visual Studio 的引导程序存在一个已知问题。 也许你也面临着同样的问题? 您可以在 Microsoft 的 connect 站点上查看有关此问题的详细信息:

https:// /connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=369138

这里还有一个讨论:http://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/3731985c- d9cc-4403-ab7d-992a0971f686/

编辑:实际上SP1中修复的问题也可以解决您的问题。 SP1 的不同之处在于引导程序启动实际 MSI 安装程序的方式。 在 SP1 之前,MSI 安装(即 msiexec)作为引导程序(即 setup.exe)的子进程启动。 现在,它作为非子进程启动,一旦引导进程完成并启动 MSI,setup.exe 就会返回。 您也可以看到差异,因为之前设置向导中的按钮没有使用 Windows XP / Vista 主题样式。

What version of Visual Studio are you working with? Are you using VS2008 SP1?

There is a known issue with the bootstrapper from this version of Visual Studio being introduced in SP1. Maybe you are facing the same problem? You can check the details on this issue on Microsoft's connect site:

https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=369138

There is also a discussion going on here: http://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/3731985c-d9cc-4403-ab7d-992a0971f686/

EDIT: Actually the thing that was fixed in SP1 could also solve your problem. The difference in SP1 is the way that the bootstrapper launches the actual MSI installer. Prior to SP1 the MSI installation (i.e. msiexec) was started as a child process of the bootstrapper (i.e. setup.exe). Now it is started as a non-child process and setup.exe returns as soon as the bootstrapping process is finished and the MSI is launched. You can see the difference also because before the buttons in the setup wizard were not using the Windows XP / Vista theme style.

满天都是小星星 2024-07-20 00:14:54

我无法确切地找出为什么 VS 引导程序的行为如此,但从另一个项目(不是使用 VS 构建)获取另一个 Setup.exe 解决了问题。

[我的印象是,Setup.exe 具有某种识别信息或指向它应该启动的 MSI 的链接。 显然不是。 只需添加另一个 setup.exe 就可以了。]

希望这对某人有帮助。

I was unable to exactly find out WHY the VS bootstrapper was behaving the way it was, but grabbing another Setup.exe from another project (not built using VS) fixed the problem.

[I was under the impression that the Setup.exe has some kind of identifying information or a link to the MSI that it is supposed to kick off. Apparently not. Just throwing in the other setup.exe did the trick.]

Hope this helps someone.

绝不放开 2024-07-20 00:14:54

在 .MSI 本身中,组合框控件的高度设置是什么? height 属性控制选择区域和放置区域的组合高度。 如果它设置得太低,那么您会得到您所描述的问题行为(尽管这不能解释为什么有时它看起来是正确的)。

In the .MSI itself what is the height setting of the combo box control? The height property controls the combined height of the selection area and the drop area. If it is set too low then you'd get the problem behavior you're describing (though that would not explain why sometimes it appears correct).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文