问题标签 [deployment-project]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
9552 浏览

visual-studio-2008 - Visual Studio 2008 安装项目中的 HRESULT = '80004005'

当我尝试构建我的设置项目时,我收到以下错误:“验证时发生错误。HRESULT = '80004005'”(并且 Microsoft 赢得了清晰度奖。)

我在谷歌上发现一小群开发人员也遇到了同样的问题。真正的错误应该是:“在你的一个项目中找不到参考。” 每个人都说(甚至在 StackOverflow 上)如何找到引用损坏的项目:

  1. 从您的设置项目中删除所有输出。
  2. 单独添加每个项目输出,直到您看到错误出现。

我这样做,发现我的主可执行项目和主类库项目出现 80004005 错误。由于主可执行项目引用了主类库项目,我认为问题出在主类库项目中。

找到项目后,人们会说删除所有引用,然后重新添加它们(这修复了似乎是此错误主要原因的任何路径问题)。事实上,我已经对解决方案中的所有项目都这样做了,只是为了更好地衡量。我仍然收到 80004005 错误。

我已经谷歌了大约五个小时,我还没有找到任何其他建议的解决方案。我几乎要在这个解决方案中重新制作所有 7 个项目,这需要我一个小时才能完成,并且不能保证结果。

在我开始向众神献祭一个可爱的小动物之前,欢迎提出建议。

0 投票
2 回答
1575 浏览

visual-studio - 使用公共依赖项设置具有两个主要输出的项目

我在 Visual Studio 中有一个包含 4 个项目的解决方案 - 2 个 Windows 窗体应用程序、一个类库和一个安装项目。

2 个窗体应用程序都引用了类库项目。

我的安装项目包括两个 Windows 窗体应用程序的主要输出,检测到的依赖项包括类库。

我已将主要输出之一放在应用程序文件夹中,另一个放在子文件夹中。问题是类库程序集只安装在应用程序文件夹目录中,但我在子目录中也需要它,否则其中一个 Windows 窗体应用程序将无法运行。我怎样才能让它安装在两个地方?是否可以不手动添加程序集?

0 投票
2 回答
2986 浏览

c# - 从部署项目安装目录

我正在开发一个应用程序,我将在部署项目(将创建一个安装程序)的帮助下部署它。

在安装程序的一个步骤中,它将允许用户更改应用程序的安装文件夹。

我需要知道这个文件夹是什么,因为那里会保存一些我需要从另一个 DLL 文件中使用的文件。如何以编程方式获取此安装文件夹?

谢谢!

0 投票
3 回答
43551 浏览

.net - 如何手动删除 MSI 安装?

我正在学习 VS 2008 安装项目来为我们的 C# 应用程序创建安装。我在卸载过程中尝试删除 exe 本身时犯了一个错误。现在我手动删除了 exe 文件,但该条目仍在添加删除程序列表中。我尝试安装固定的较新版本,但 msi 不允许我这样做。

如何手动删除旧版本(我可以使用 regedit,没问题)?我正在使用XP机器。谢谢

编辑:在该卸载注册表项中删除其子项后,我仍然无法安装我的新版本。

替代文字

0 投票
1 回答
658 浏览

c# - Visual Studio 安装程序:完成时复制文件

我有一个 C# 项目,现在已经完成,我需要为它制作一个安装程序。我添加了安装和部署项目并列出了所有需要的先决条件,现在我只需要在安装完成时复制数据库文件。

只需一个简单的“创建一个名为 /db/ 的文件夹”(在安装文件夹中)并在其中复制 db.mdf。

我正在谷歌搜索,但我找不到任何我可以使用的东西。

任何帮助,将不胜感激!谢谢!

0 投票
2 回答
1768 浏览

c# - 使用 Microsoft.Web.Deployment 部署 Web 应用程序

我已经能够使用 Microsoft.Web.Deployment 代码在我的 IIS 服务器上放置文件:

似乎这一切只是在现有 Web 应用程序下创建一个新文件夹。如果我进入 IIS 管理器,右键单击我创建的文件夹,然后单击“转换为应用程序”,然后我会得到我正在寻找的行为。有谁知道如何仅使用 Microsoft.Web.Deployment 包来做到这一点?

0 投票
1 回答
551 浏览

c# - 从 VS2010 部署项目手动写入 Wow6432Node 条目可以吗?

我有一个用 C# 编写的 .NET 组件,它需要在 HKLM 配置单元下注册一些注册表值。我希望这个组件可以安装在运行适当 Windows 风格的 x86(32 位)和 x64(64 位)机器上。在 64 位系统上,我想确保该组件可以被 32 位和 64 位托管进程使用。我暂时坚持使用 Visual Studio 的部署项目。

我想要的是我的安装程序,当在 64 位系统上运行时,将其注册表项放在 下HKLM/Software/Blablah,以便在 64 位进程中运行时,我的组件可以找到它的全局配置设置。但是,如果我的组件由运行在同一台机器上的 32 位进程托管,那么它将从它认为相同的密钥中读取,但 Wow64 将转换为 HKLM/Software/Wow6432Node/Blablah。

是否可以编写我的 64 位安装程序,以便:

  • 它被标记为 x64 安装程序
  • HKLM/Software/Blablah它为了 64 位进程的利益而写下条目
  • HKLM/Software/Wow6432Node/Blablah为了在同一台机器上运行 32 位进程,它会在下写入这些条目的精确副本 。

我猜是因为我已将安装程序标记为 x64,我将被迫为 32 位系统编写另一个单独的安装程序,它只写入HKLM/Software/Blablah.

0 投票
2 回答
2927 浏览

.net - 如何在不重新评估已安装文件的 VS2010 安装项目中添加快捷方式

情况:我有一个 Windows 桌面应用程序,它连接到各种服务(一次一个)以执行各种调用。无论连接到哪个服务,我的应用程序都以相同的方式工作。它应该随时连接到哪个服务在 application.config 文件中定义。

为了在服务之间切换,我创建了几个 Windows .bat 文件,每个文件都将现有的 .config 文件替换为要使用的新文件(服务端点)。

对于所有这些,我创建了一个安装程序(一个 MSI,使用 Visual Studio 2010 中的“安装项目”模板)。此安装程序还创建以下快捷方式:

  1. 应用程序本身
  2. 第一个 .bat 文件(将配置文件设置为“默认”服务端点)
  3. 第二个 .bat 文件。(将配置文件替换为替代文件)

问题:每次我通过快捷方式运行这些(应用程序或 bat 文件)中的任何一个时,它们似乎都会在实际运行目标之前“重新评估”已安装的文件。只要我使用默认的 .config 文件,这没有问题,因为它就是这样安装的。但是,如果我已经运行了第二个 .bat 文件,并且正在尝试运行应用程序以便它连接到第二个服务,那么通过快捷方式启动应用程序会导致 .config 文件被还原,并且我最终连接到而是第一个服务。

我可以手动为 .bat 文件和应用程序本身创建自己的快捷方式,而且它们工作正常。但是,我希望这会自动发生,而不会弄乱对其他文件的任何更改。

任何想法将不胜感激!在此先感谢,
-Kjartan

0 投票
1 回答
789 浏览

visual-studio-2005 - 删除应用程序数据文件时,如何防止安装程序运行?

我有一个使用 Visual Studio 2005 用 VB.Net 编写的应用程序。该应用程序允许用户创建和保存项目文件。当我分发应用程序时,我会包含一些演示项目文件,这些文件会安装在公共应用程序数据文件夹中。

XP - C:\Documents and Settings\所有用户\应用程序数据

Vista & 7 - C:\程序数据

我发现了一个意外行为——如果公共应用程序数据文件夹中的任何文件被删除,并且应用程序从开始菜单运行,那么安装过程将启动并尝试恢复丢失的文件。如果 MSI 文件不再存在于其原始位置或已更改,则应用程序将无法运行。我认为这是一个“功能”,但这是我不想要的。谁能告诉我发生了什么以及如何避免它?

更多细节:

  • 我使用 Visual Studio 部署项目创建了安装程序包。

  • 如果我直接启动 EXE,则不会发生此行为。因此,我希望该行为与开始菜单快捷方式有关。我注意到快捷方式不是普通的快捷方式——它没有“目标位置”。

感谢所有建议。

-TC

0 投票
1 回答
775 浏览

visual-studio - Visual Studio 部署项目应用程序快捷方式不允许拖放文件打开

我在从 Visual Studio 2010 部署项目的桌面上创建应用程序快捷方式时遇到问题。快捷方式创建得很好,但是当我将特定于应用程序的文件拖放到快捷方式上时,它不起作用(光标变成带有斜线的红色圆圈)。另一方面,如果我转到应用程序目录并在可执行文件本身上执行此操作,它可以正常工作(它可以正确打开文件)。有趣的是,如果我在安装后手动创建可执行文件的快捷方式,它也可以将文件拖放到上面。

当我试图解决这个问题时,我发现可能有用的东西是,如果我打开两个快捷方式的属性对话框(部署项目创建一个和我手动创建的一个),手动创建的一个作为它的目标可执行文件的完整路径,而另一个只有可执行文件的名称(尽管它在目录中的开头是正确的)。当我双击它们时,它们都运行应用程序并且它们都显示了正确的图标。

如何获得部署项目创建的快捷方式以允许将可执行文件拖放到其上以打开它们?