1

现在,我正在使用 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 中运行良好。

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

4

3 回答 3

1

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

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

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)的子进程启动。现在它作为非子进程启动,并且 setup.exe 在引导过程完成并启动 MSI 后立即返回。您还可以看到差异,因为之前设置向导中的按钮没有使用 Windows XP / Vista 主题样式。

于 2009-02-09T23:04:12.773 回答
1

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

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

希望这可以帮助某人。

于 2009-03-12T15:22:23.700 回答
0

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

于 2009-02-14T03:53:25.577 回答