问题标签 [setup-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 回答
9016 浏览

.net - 创建 MSI 的最佳工具

我是设置项目创建的新手。现在我正在使用 Visual Studio 2008 为我的项目创建安装文件 (msi)。在安装向导中创建自己的自定义表单以及将项目的现有版本升级到新版本时,我感到非常不舒服。

是否有任何其他替代方法可以为 Dot net 项目创建 MSI/MSP 包?

0 投票
3 回答
4030 浏览

visual-studio - 在 Visual Studio 安装项目中将版本号添加到应用程序文件夹

我有一个 Visual Studio 安装项目,它的应用程序文件夹DefaultLocation设置为[ProgramFilesFolder][Manufacturer]\[ProductName]. 我想更改它以包含软件的版本号,例如[ProgramFilesFolder][Manufacturer]\[ProductName][Version],但 Visual Studio 似乎不支持它。

DefaultLocation每次创建新版本时是否可以手动更改应用程序文件夹?

0 投票
1 回答
228 浏览

c# - 应用程序包装

我正在使用 Visual Studio 创建我的安装包。

我的应用程序使用一些位图和其他数据文件。我目前将这些文件包含在我的安装项目中。

有没有办法将这些文件嵌入到一种捆绑包中?

0 投票
1 回答
76 浏览

windows-services - 附带我的 Windows 服务的 SQL Server Express Edition

我创建了一个与 SQL Server Express Edition 交互的 Windows 服务。我想把它发送到我没有安装任何形式的 SQL Server 的测试机器上。

是否有一种简单的方法可以将 SQL Server Express Edition 与我的服务一起提供?是否可以将此作为安装项目的一部分?

谢谢。

0 投票
1 回答
3056 浏览

visual-studio - 在 Vista 中设置自定义操作的 Microsoft VC 运行时要求和 SXS 错误

我使用 VS2005 为我正在开发的应用程序创建了一个安装项目,它可以在 Windows 2000 和 XP 上正常安装,但是当我尝试在 Vista 上运行安装程序时,会出现以下错误:

此 Windows Installer 程序包存在问题。无法运行完成此安装所需的程序。

此错误发生在安装过程的最后,在它已经将所有文件复制到磁盘之后,并且在它尝试运行我的自定义操作可执行文件时发生。

自定义操作二进制文件是一个名为 InstallCustom.exe 的文件,用 C++ 编写。它是非常基本的,只处理安装、提交、卸载和回滚操作,并且只设置一些注册表项并启动几个批处理脚本来完成安装。

我在安装过程中运行了 SXSTrace 以查看它失败的原因并得到以下跟踪:

如您所见,它无法找到 Microsoft.VC80.CRT,即 Visual C++ 运行时 dll。

奇怪的是这个运行时已经包含在安装程序中,通过添加合并模块:“Microsoft_VC80_CRT_x86.msm”和“policy_8_0_microsoft_vc80_crt_x86.msm”

但是,我怀疑这些合并模块在发生此错误之前实际上并没有得到应用......
但我无法弄清楚如何在 InstallCustom.exe 运行之前包含这些所需的文件。我什至尝试将运行时复制到安装之前文件所在的目录。

有没有办法解决这个问题?为什么这在 XP 和 2000 上不是问题,但在 Vista 上……我认为它应该有这个运行时。

0 投票
2 回答
5866 浏览

wix - 升级 WIX 功能树中的单个功能而不卸载/升级其他功能

我正在尝试使用WIX创建一个安装项目,该项目将允许我安装单个产品的多个功能。如何更新已安装的功能之一(独立于其他已安装的功能)而无需重新安装功能树中的其他功能?

例如,我希望能够有一个名为 HelloWolrd 的项目(回到 HelloWolrd),它(惊喜)打印“Hello world!” 屏幕上。假设我有三个 hello world 应用程序,Hello World 1、Hello World 2 和 Hello World 3。每一个都分别在屏幕上打印 Hello World 1、2 或 3。我想要的是创建一个 MSI,它默认安装所有这三个“功能”,但也允许以后单独升级每个功能。

这是我的解决方案的布局:

解决方案资源管理器 http://img12.imageshack.us/img12/5671/solutionexplorerm.jpg

我的 WIX Product.wxs 文件如下所示:

现在,当它被构建时,它会按照您的预期安装功能。但是,当您对 HelloWorld1.vb 进行修改并重新编译时,我希望它能够仅重新安装(升级)该功能,而不是全部。

当我更新一个文件并重建解决方案,然后尝试安装 msi 时,我收到此错误:

MSI 错误 http://img696.imageshack.us/img696/849/anotherversionisinstall.jpg

我更新了我的代码以允许卸载功能并允许使用升级代码,但是卸载了所有功能并重新安装了所有功能。


-- 实际应用 --

现实世界的应用程序是一个大型软件包,需要多个支持应用程序作为服务/计划任务定期运行。我希望将这些支持应用程序安装到一个 MSI 中,这样我们就不会遇到单独推出每个 exe 的噩梦。我知道,如果我们对其中一个 exe 进行了更新,我们可以手动编译该 exe 并将其推出,但我想以完全可重现的方式执行此操作。

任何帮助都会得到帮助,

谢谢!

编辑:

我添加了从Google Code下载的源代码。再次感谢!

0 投票
2 回答
76 浏览

database - Web2 在线应用程序的数据库设置

我正计划编写一个 Web2 在线应用程序,我正在寻找最佳实践。

我说的是类似于网络协作或计费应用程序的在线应用程序。我想知道他们如何设置他们的数据库?他们是将所有用户信息放在同一个数据库中,还是每个用户都有自己的数据库?

0 投票
0 回答
332 浏览

visual-studio-2008 - 在 VS 安装项目中将文件夹标记为“永久”

在 Visual Studio 中创建安装项目时,您可以指定文件是永久的,但没有选项可以设置文件夹。我的安装程序需要将一些文件复制到现有的(有时是空的)文件夹中,但是当它卸载时,如果它是空的,它会删除该文件夹。我想防止这种情况发生,以免破坏其他加载项。现在我已经添加了一个 dummy.txt 文件并将其设置为永久,因此该文件夹不会被删除。还有其他方法吗?

0 投票
1 回答
298 浏览

.net - 如何在安装项目中使用安装配置变量?

使用 .net 的安装项目,我想将我的软件安装到的位置写入注册表,以帮助插件知道主应用程序在哪里。我可以使用某种 %variable% 来代表安装应用程序的文件夹吗?

0 投票
2 回答
691 浏览

visual-studio-2008 - 使用 Windows 7 SDK 构建 Visual Studio 2008 安装项目

是否可以在仅安装 Windows 7 SDK 的情况下构建 Visual Studio 2008 安装项目?

我的安装项目拒绝构建,因为它找不到 Windows 6 SDK 的一部分“C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\”。我原以为 7 SDK 将拥有安装项目所需的一切。

一个相关问题:我在哪里可以获取 VS 的 Windows 6.0 引导程序文件?