【问题标题】:VisualStudio MSI Bootstrap Loader Bug and ReplacementVisualStudio MSI 引导加载程序错误和替换
【发布时间】:2009-02-09 22:40:41
【问题描述】:

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

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

【问题讨论】:

  • 能否请您添加一些关于您正在使用的产品版本的信息(Windows Installer、VS、Windows 平台)?

标签: visual-studio installation windows-installer bootstrapper


【解决方案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 主题样式。

【讨论】:

    【解决方案2】:

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

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

    希望这对某人有所帮助。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

      • 我检查了第一件事。高度设置为适当的大小。 msi 本身也总是正确显示它,InstallShield 生成的.exe 也是如此。只有VS exe是borked。
      猜你喜欢
      • 2011-02-01
      • 1970-01-01
      • 2014-10-03
      • 2016-06-21
      • 2018-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-02
      相关资源
      最近更新 更多