Visual studio VisualStudio MSI引导加载程序错误和更换

Visual studio VisualStudio MSI引导加载程序错误和更换,visual-studio,installation,windows-installer,bootstrapper,Visual Studio,Installation,Windows Installer,Bootstrapper,现在,我正在使用Visual Studio创建一个msi和一个setup.exe。它工作得很好。。。直到最近。 我最近在msi中添加了一个带有组合框控件的新对话框。现在,当我直接使用msi安装应用程序时,一切正常。 但是当我运行Setup.exe时,组合框没有正确显示。它在下拉列表中一次仅显示一个元素。所有元素仍然存在,我甚至可以使用向上/向下键或字母('S'表示SQL Server)来选择它们 以前有人见过这种问题吗?此外,当我使用InstallShield创建安装程序时,InstallShi

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

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

所以我想我需要用visualstudio来修复这个问题。如何修复VisualStudio引导程序

平台:

使用VisualStudio2005进行构建

操作系统:WindowsXPSP3

生成计算机已安装Windows Installer 4.5,但它不是预请求。 msi本身在WindowsInstaller3上运行良好


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

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

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

这里还有一个讨论:


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

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

我无法确切地找出为什么VS引导程序会这样运行,但是从另一个项目(不是使用VS构建的)获取另一个Setup.exe修复了这个问题

[我的印象是Setup.exe有某种识别信息或它应该启动的MSI的链接。显然没有。只是插入另一个Setup.exe就成功了。]


希望这对其他人有所帮助。

您能添加一些关于您正在使用的产品版本(Windows Installer、VS、Windows平台)的信息吗?我首先检查了一下。高度设置为适当的大小。msi本身也总是正确显示它,InstallShield生成的.exe也是如此。只有VS exe被屏蔽。