繁体   English   中英

Visual Studio 2017 中的 Windows 安装程序项目

[英]Windows Installer Project in Visual Studio 2017

我一直在学习使用 Visual Studio 2017 构建的各种应用程序类型(例如控制台应用程序、Windows 服务应用程序、Windows 窗体、wpf 等)的部署。

特别是我正在查看我所理解的被称为安装和部署项目或 Windows 安装程序安装项目: https : //msdn.microsoft.com/en-au/library/wx3b589t(v=vs.100).aspx

起初我无法在 Visual Studio 2017 中找到安装和部署项目。 但是,我找到了来自 Microsoft 的 Visual Studio 扩展,称为 Microsoft Visual Studio 2017 安装程序项目https://marketplace.visualstudio.com/items?itemName=VisualStudioProductTeam.MicrosoftVisualStudio2017InstallerProjects

安装 Visual Studio 扩展后,我可以在“添加新项目”窗口中的“其他项目类型”下找到 Visual Studio 安装程序。 但是,我无法为项目成功构建安装程序。

在使用标准默认 Windows 窗体项目或默认控制台应用程序的不同场合和不同解决方案中,当我右键单击解决方案资源管理器窗口中的安装项目并选择构建时,会发生以下情况:

  1. 出现一个与 SQL Management Studio 相关的对话窗口,其中包含以下内容

    Windows 正在配置 SQL Server 2008 R2 SP2 Management Studio,请稍候。

  2. 在该对话窗口的顶部会出现一个进一步的对话窗口,其中包含:

    0: Watson 1: 1304 2: STreamSupportFiles 3:streamBinaryToDisk 4:5 5:e:\\sql10_main_t\\sql\\setup\\darmwin\\sqlcastub\\streamca.cpp 6:238 7:sqlcastub.dll 8:sqlrun.msi

    和一个确定按钮。

  3. 如果我按下 2 中标识的对话框上的确定按钮,我最终会得到一个标题为 SQL Server 2008 R2 SP2 Management Studio 的进一步对话框。 窗口内容为:

    写入文件时出错:访问被拒绝。 验证您是否有权访问该目录。 窗口中出现一个确定按钮。

我不确定“那个”目录在这种情况下实际指的是什么,因为它出乎意料。

  1. 如果我在对话窗口上单击“确定”,则会看到一个带有“准备安装”消息和一个取消按钮的 Windows 安装程序对话窗口。

  2. 经过很长一段时间似乎没有发生任何事情,并且 Visual Studio 主窗口现在(没有响应)作为其标题的一部分,我最终单击了 Windows 安装程序对话框上的取消按钮。 这导致安装程序冻结,最终 Visual Studio 崩溃或变得如此无响应,我最终用任务管理器终止它。

我观看了一段视频,其中有人为 Windows 服务构建了安装项目,但在任何阶段我都没有看到与 SQL Server 相关的 Windows 或 Windows Installer 准备安装窗口。 我没想到会收到任何提到的窗口,也没有想到 Visual Studio 会变得无响应并且基本上崩溃。

我转到工具 > 选项 > 项目和解决方案并将 MS 构建输出和日志详细程度更改为诊断,但没有找到与 SQL Server 2008 相关的任何内容。

有没有人对可能导致这种情况的原因以及我如何解决有任何想法?

此外,我是否应该考虑其他一些用于部署目的的解决方案/工具,而不是安装和部署项目? 鉴于问题的性质,而不是仅仅停留在这个问题上,也许还有其他一些问题: 1. 设置和部署项目是否仍然是其他开发人员积极使用的工具/解决方案? 如果是,它们是否被广泛使用? 或者相对于其他部署技术/工具/解决方案,它们的使用范围如何?

通过运行以下命令在 x64 系统上解决了该问题:

regsvr32.exe /u "C:\Program Files (x86)\Common Files\microsoft shared\MSI Tools\mergemod.dll"
regsvr32.exe "C:\Program Files (x86)\Common Files\microsoft shared\MSI Tools\mergemod.dll"

我也有同样的问题。 但是我是一个新开发人员。 您能再给我解释一下解决方法吗?

吉尔斯·佩耶特(Gilles Payette)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM