问题标签 [visual-studio-setup-proje]

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 投票
1 回答
187 浏览

machine.config - ASP.Net Machine.Config 转换

我正在创建一个包含 ASP.Net HttpModule 和 HttpHandler 的强签名类库。

我已经为我的库创建了一个 Visual Studio 安装项目,该项目将库安装在 GAC 中,但是我想将程序集引用以及 HttpModule 和 HttpHandler 添加到我的 Visual Studio 安装项目的目标机器的 machine.config 中。

在我重新发明轮子之前,有没有一种简单的方法可以使用 Visual Studio 安装项目来做到这一点?

0 投票
1 回答
2093 浏览

c# - 将参数发送到 Windows 服务安装程序 Visual Studio

我是 C# 新手,我刚刚创建了一个在事件日志中写入一些日志的 Windows 服务。为了安装它,我创建了一个 Visual Studio 安装项目,一切正常。

我希望这个服务有一个可以在安装时创建的配置文件。因此它在安装时应该接收一些参数,例如: - 写入数据库或事件日志 - 输入文件夹路径(它使用从中读取数据的输入文件夹) - 等等。

我知道参数是由服务在 OnStart 方法中接收的,我只是不知道如何将参数发送到该方法。

0 投票
1 回答
3675 浏览

.net - 在 XP 中安装 .Net 4 之前的 VS 2010 BootStrapper for WIC(Windows 映像组件)

我已经在 VS 2010 中为我的 .Net 4 应用程序创建了一个设置和部署项目。在我的先决条件中,我已经检查了 .Net4 的先决条件,但我了解到 .Net4 省略了 WIC(Windows 映像组件)以使其轻松。

当我在 Vista/Win7 中运行我的设置时,Net4 安装不会为 WIC 提供错误,但是当我在 XP 中安装它时,它会为 WIC 提供错误。然后我必须先手动安装 WIC,然后运行我的设置。

我需要一个 WIC 引导程序,它在 XP 中安装 .Net4 之前运行。请建议如何完成或提供链接。提前致谢。

0 投票
2 回答
1985 浏览

c# - InstallAllUsers 选项如何工作?

我有一个 C# 应用程序和一个 Visual Studio (2010) 安装项目。在我的安装项目中,我使用InstallAllUsers = True. 此外,我的应用程序需要在启动时启动,因此将一个快捷方式添加到User's Startup Folder.

因此,我以用户 Bob(来自共享)的身份安装了我的应用程序,然后以用户 Alice 的身份注销并登录。爱丽丝得到一个对话,说:

您尝试使用的功能位于不可用的网络资源上。

它提供了安装 MSI 的网络路径。因此,基本上,它在 Alice 无法访问的共享上寻找 MSI。如果 Alice 尝试手动启动 Startup 链接,这是可以重复重现的。 但是,Alice 可以直接从安装位置启动 exe,效果很好。

我不完全理解它为什么要寻找 MSI,但我想一个用户无法为另一个用户完全安装应用程序是有道理的,因此需要 MSI 才能完成安装。

但如果是这种情况,那么我不明白为什么只有在从启动链接启动时才需要 MSI,而不是直接从 exe 启动。

我的问题有几个部分:

  1. 我正在经历该InstallAllUsers选项的预期行为吗?
  2. 如果是这样,我如何确保我的应用程序已为所有用户完全安装?
  3. 是否有必要在本地复制 msi,并确保在每个用户有机会登录之前它不会被删除?
0 投票
2 回答
10559 浏览

c#-4.0 - 如何在安装项目中写入 app.config 并在程序中使用它

  • 我创建了一个从安装程序继承的 Installhelper.cs。
  • 使用这段代码 (A) 覆盖 Install() 方法。

插入到 app.config 的这些值在安装后创建的[projectName].exe.config 文件中不可用。我已经在 app.config 中手动添加了如下所示的部分(B)

数据被传递给安装程序类,但数据不会写入 app.config 字段。在安装过程中,它们在创建的配置文件中保持不变。

任何帮助是极大的赞赏。我在这上面花了将近一天的时间。

代码 A:

在应用程序配置中添加的部分是代码 B:

0 投票
2 回答
5789 浏览

visual-studio-2010 - 视觉工作室设置项目:更新不起作用

我几天都面临一个问题,经过多次研究,我找不到任何适合我的情况。

事情是这样的:我正在使用 Visual Studio 2010 开发一个包含多个项目和一个安装项目的解决方案。我希望安装项目创建一个 MSI 文件以将产品从 1.5 版更新到 1.6 版。

我按照本教程http://www.simple-talk.com/dotnet/visual-studio/updates-to-setup-projects/更新了解决方案的每个项目的程序集版本和文件版本号。

我的安装项目的设置是:
DetectNewerInstalledVersion : True
InstallAllUsers : True
RemovePreviousVersions : True
版本 : 1.6.3
ProductCode 与之前版本的 ProductCode 不同,UpgradeCode 与之前版本
的 UpgradeCode 相同。

我读到通常 MSI 应该删除版本比现有文件新的文件并替换为新文件。当我运行以前的 MSI(将产品从 1.4 更新到 1.5 的那些)时,它就像描述的那样工作得很好。(我不确定它是用哪个版本的 Visual Studio 编译的,但我猜它是用 VS2008 编译的)。

现在,当我运行我的 MSI 时,它似乎首先运行将旧 .exe 替换为新 .exe 的“安装序列”,然后运行擦除 .exe 的“卸载序列”。当安装“完成”时,我的应用程序目录中不再有 .exe。(但是在“添加/删除程序”面板中,产品显示为安装在 1.6 版中)。

(注意:我可以注意到 MSI 的“安装”部分或“卸载”部分何时运行,因为两者都具有打开控制台应用程序的自定义操作,我可以在其中进行跟踪)。

经过更多研究,我将旧 MSI 与我的 ORCA 进行了比较,我注意到表 InstallExecuteSequence 的差异:
对于旧 MSI,RemoveExistingProducts 的序列号为1525,介于 InstallInitialize (1500) 和 AllocateRegistrySpace (1550) 之间。
使用我的 MSI,RemoveExistingProducts 的序列号是6550,介于 InstallExecute (6500) 和 InstallFinalize (6600) 之间。
我在表格中看不到任何其他差异。

我什至尝试使用 ORCA 手动编辑 MSI,并将 RemoveExistingProduct 的序列号设置为 1525。在执行时,“卸载部分”运行正确,但随后出现 2356 错误(经过一些研究,我猜这是因为手动编辑MSI 损坏了它)。

如果有人有一个想法来解释我的 MSI 的行为以及如何解决它?

谢谢

0 投票
1 回答
1659 浏览

c# - 使用 C# 以编程方式将关机脚本添加到组策略

我的要求是当用户从 Windows 注销时我必须运行一个应用程序。为了实现这一点,我觉得在 Windows 的组策略中添加一个关闭脚本将是一个可行的解决方案。我们通常通过 gpedit.msc 来完成。但我想从 C# 以编程方式进行。非常感谢任何帮助。

提前致谢。

0 投票
1 回答
1273 浏览

visual-studio-2010 - 在 Visual Studio 安装项目中自定义安装日志位置

Visual Studio 中的安装项目将在 temp 文件夹下有其安装日志,名称格式如“%temp%\ .log”

我可以在此处进行一些自定义,以便这些安装日志将转到特定文件夹吗?

0 投票
0 回答
130 浏览

visual-studio-2010 - 将已发布的 Web 应用程序添加到安装项目?

我有两个项目的解决方案 1. WCF 服务应用程序 2. 设置项目

我想在每次构建时将 WCF 服务应用程序的已发布输出添加到安装项目中提到的某个文件夹中。因此,当我安装由 Setup 项目生成的 msi 时,WCF 服务应用程序的已发布输出将存储在某个预定义的文件夹中。

稍后,我想通过其他方式将预定义的文件夹发布到某些 IIS。

目前,我可以手动将 WCF 服务应用程序发布到某个文件夹。但是如何自动化这个过程,以便发布的应用程序存储在安装项目的一些预定义文件夹中。

0 投票
1 回答
1474 浏览

logging - Visual Studio 安装项目的日志创建

我正在尝试使用 VS 安装项目为我的应用程序创建安装程序。现在我希望在发生任何故障时,我应该能够在日志文件的帮助下跟踪问题所在。

所以我的问题是,我如何获得各种事件的挂钩(例如路径选择、同意的免责声明等),以便我可以记录它们。目前我唯一可以插入代码的地方是自定义操作,但在此之前事情可能会出错。

任何有关如何处理此问题的建议都将受到高度赞赏。

谢谢, 奥伊希克