问题标签 [vdproj]
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.
visual-studio - Visual Studio 安装项目:Cleartype
我使用 Visual Studio 安装项目为某些程序集创建安装程序。但是,安装程序使用的字体总是有别名的,并且似乎不是 Windows 标准。
(来源:paulstovell.com)
(注意安装程序文本使用别名文本渲染,但窗口标题使用 ClearType)
有没有办法更新 MSI 以使用 ClearType?
c# - .NET 正则表达式,用于在 C# 中查找和替换 .vdproj 文件中的任何 ProductName 值
我正在尝试编写一个 NAnt 扩展任务,该任务可以更新 Visual Studio 2003 生成的 Setup .vdproj 文件中的不同设置,并希望获得以下帮助。
具体来说,我想使用 RegEx 表达式来查找,如果找到,将分配给 ProductName 值的任何值字符串值替换为整个新字符串值。
我正在寻找一个 RegEx 表达式集以将“ProductName”更改为任何其他值,而不必依赖任何其他内容,而不是所寻求的字符串以“ProductName”=“8”开头:然后有 1 个或多个字符并以 a 结尾" 标记。我尝试了以下方法无济于事:
在执行以下代码片段之前,.vdproj 文件的 ProductName 为:
...以及 C# 中的代码片段:
执行上述代码片段后,.vdproj 文件的 ProductName 现在显示为:
关闭,但我期待“我的其他本机应用程序”替换“我的简单 .NET 应用程序”,而不是添加到它。
任何见解和帮助将不胜感激。
windows-installer - MSI 在升级安装时删除了所需的程序集,但在修复时将其替换
我遇到了一些与 MSI 安装升级相关的奇怪问题,也许有人可以帮助我:
我有两个 MSI,一个是原始的,一个是升级的:
- 微星 1.0 版
- 包含要安装到 GAC 的 .NET 程序集 foo.dll
- foo.dll 在 MSI 文件系统 gui 中属于“Assembly”(不是“Output”)类型。
- 微星 2.0 版
- 还包含 foo.dll(相同版本),以及一堆额外的程序集。
- 我希望 MSI 2.0 完全取代 1.0,所以我将 RemovePerviousVersion 设置为 False。
现在两种安装场景:
我运行 MSI 1.0。Foo.dll 已正确安装到 GAC。然后我运行 MSI 2.0 并且Foo.dll 似乎已从 GAC 中删除,但其他程序集在那里。我没有办法。但是,如果我去添加/删除程序并单击“修复”,就会放入 Foo.dll。
MSI 1.0 从未安装,我运行的是 MSI 2.0。正如预期的那样, Foo.dll(和其他程序集)在那里。
任何想法为什么 foo.dll 在升级过程中被删除?提前致谢!
-肯
更新 经过一些刷新/重建后,它现在似乎可以工作了。但是,现在当我卸载 MSI 时它不会删除 foo.dll,即使它的属性“Permanent”设置为 false。问题不大,但很高兴知道发生了什么。
.net - 在 .net 中自动构建
我有一个解决方案 sln,有 50 个项目(vbproj、csproj 和 setup 项目)。
我需要自动构建所有解决方案和项目(解决方案文件夹的项目集)和设置项目(vdproj)。
我的 vdproj(安装项目)有构建后事件..
首先,如何为 vdproj 自动构建?我只能在 release 中执行构建它的命令,并将输出(setup.exe、*.msi)复制到另一个文件夹。
deployment - 将 REINSTALLMODE 传递给 MSI 文件
我正在使用 VisualStudio2005 和 vdproj 创建一个简单的 MSI 文件。我需要在启动时传入 REINSTALLMODE 属性。
我知道这可以通过命令行完成,如下所示:
msiexec.exe /i foo.msi REINSTALLMODE=amus
但是,如果用户选择直接单击 msi(启动向导),则不会传递该属性。是否可以通过 VS 和 vdproj 做到这一点?
我调查过的一些选项:
- 当我通过 VS 构建 MSI 时,它还会生成一个 setup.exe。有没有办法通过这个传递 REINSTALLMODE 属性?
- 我安装了 Orca,它允许我查看/编辑 MSI 的属性表。我可以通过这种方式添加它,但是每次我进行 MSI 构建时都必须添加它。
感谢您的任何建议。
visual-studio - .net .vdproj - 应用程序快捷方式
我正在.vdproj
为一个简单的 Windows 窗体创建一个设置。我在用户的程序菜单中添加了一个快捷方式(在文件夹中),但是当我单击快捷方式时,它只会打开安装文件夹。如何设置它以运行 .exe 程序?
我只是尝试将.exe
名称放在快捷方式的“参数”中 - 还没有运气。我认为它可能比这更直观。似乎“目标”可能是要设置的属性-但它给了我一个选择列表-而我.exe
的不在要选择的列表中。
谢谢,
尼尔·沃尔特斯
更新1:
我正在使用 VS2008 SP1。
我在“用户程序菜单”下添加了一个名为“RCT”的文件夹(这是我的应用程序名称)。我右键单击该文件夹,我看到“添加”带有指向子菜单的箭头和“创建 RCT 的快捷方式”。我尝试的第一件事是“创建 RCT 的快捷方式”,这就是我发布这个问题的原因。一旦快捷方式出现,看起来属性窗口是配置它的唯一方法。我将“目标”和“工作文件夹”(所有 3 个属性)设置为“应用程序文件夹”。现在,当我单击快捷方式时,它会打开磁盘目录:C:\Users\uxnxw01\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\RCT
如果我右键单击“用户的程序菜单”,我会看到一个链接“将快捷方式添加到用户的程序菜单”。我真的想要一个快捷方式“在”用户的程序菜单,而不是“到”用户的程序菜单。
“添加”子菜单有四个选项:文件夹、项目输出、文件、程序集。
解决方案 - 基于 Heinzi 的回应:
我想我现在明白了-您右键单击空白区域(在“名称...类型...”下-不是在文件夹上。然后我看到“创建新快捷方式”。多么令人困惑的设计微软!似乎您会单击文件夹并“添加新快捷方式”。相反,它们会为您提供“添加快捷方式...”您单击的项目。
.net - msbuild 不支持的部署项目:我有哪些选择?
我正在使用 TeamCity 通过 msbuild 自动构建我的解决方案,似乎不支持 .vdproj。构建 msi/installer 有哪些选择?
- 在构建服务器上安装 Visual Studio
- 使用另一个安装程序(WiX、nullsoft、innosetup ?)
- ?!
我已经让 TeamCity 运行并构建了一个 .zip,我正在寻找最快的解决方案。
编辑:我忘了提到它是一个 WPF .exe 应用程序
visual-studio - 根据处理器架构安装不同版本的合并模块
我有一个使用 Visual Studio 部署项目部署的 Windows .net 解决方案。我的 exe 是一个在 x86 或 x64 窗口上运行良好的 win32 应用程序。
但是,我包含了一个来自第三方供应商的合并模块 (*.msm),它在 x86 和 x64 版本中可用。
现在我可以复制我的整个部署项目并只更改 msm,但我是一个懒惰的人,最好的办法是将两个 msm 都包含在我的安装程序中,并且只安装适合客户端计算机处理器的模块。
有没有办法用可视化部署项目做到这一点?
合并模块似乎缺少像包含的 exe / dll 文件那样的 Condition 属性。
c# - 在命令行对 .vdproj 运行 devenv 不会产生 MSI
我想.vdproj
使用devenv
命令提示符中的命令从文件生成 MSI 文件。此命令运行良好,但未生成 MSI 文件。怎么了?
我应该在环境变量中设置什么,或者有没有其他方法可以从.vdproj
文件生成 MSI?
c# - .vdproj 解析器需要
我正在寻找一些可以解析 .vdproj 文件的 c# 示例代码或工具(Visual 2010 Studio 设置和部署项目)。