VisualStudio MSI Bootstrap Loader错误和替换

时间:2009-02-09 22:40:42

标签: visual-studio installer windows-installer installation bootstrapper

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

之前有没有人见过这种问题?此外,当我使用InstallShield创建设置时,InstallShield创建的exe再次运行正常。

所以我想我需要用Visual Studio修复它。任何想法如何修复visual studio bootstrapper?

平台:

使用Visual Studio 2005进行构建。

操作系统:Windows XP SP3。

构建计算机安装了Windows Installer 4.5,但它不是预先请求的。 使用Windows Installer 3,msi本身运行良好。

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

3 个答案:

答案 0 :(得分: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)启动。现在它作为非子进程启动,并且一旦bootstrapping进程完成并且启动了MSI,setup.exe就会返回。您也可以看到差异,因为在设置向导中的按钮未使用Windows XP / Vista主题样式之前。

答案 1 :(得分:1)

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

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

希望这有助于某人。

答案 2 :(得分:0)

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