使用 Wix 工具集安装应用程序的多个实例

2024-01-09

我只需要安装应用程序的多个实例,将它们保存在不同的文件夹中,桌面上没有快捷方式。 换句话说,当应用程序已安装在文件夹中时,如果我再次双击 .msi 文件,安装程序不应询问我是否要修复或删除我的应用程序,而只是允许安装它在一个新文件夹中。 我怎么解决这个问题?


我以前曾经使用过这种安装,并且我同意@Nikolay - 这是一个例外,而不是基于 Windows Installer 的安装的规则。组件规则 http://robmensching.com/blog/posts/2003/10/18/component-rules-101/通常很难遵循,并且多个实例方面增加了一些复杂性。所以,在走这条路之前,请三思而后行。

虽然复杂,但还是有可能的。几年前我发表过有关如何开始创作多实例安装的文章 http://sklyarenko.net/blog/2011/09/14/revisited-multiple-instance/与 WiX 3.6。请注意,此版本的 WiX 显着简化了它。这不是一篇简短的文章,所以这里是一个快速摘要:

  • 您将无法实现“通过双击 MSI 文件安装每个新实例”行为。你必须有一个引导程序 - 可以将正确的命令行参数传递给msiexec.exe.
  • 不要尝试支持无限数量的实例 - 尝试坚持使用相当大的数量。您是否想象有人在一台机器上安装您的应用 10 次? 50? 100?做出明智的选择 - 这将是您的号码<Instance/>元素。
  • 尽管您只需用以下内容装饰非文件数据组件MultiInstance属性,我认为如果将它添加到所有组件中它不会破坏。
  • 尽管我在那篇文章中解释了多个实例的修补,但如果我别无选择,我只会在生产中使用它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Wix 工具集安装应用程序的多个实例 的相关文章

  • Wix:如何警告用户而不是使用属性终止安装?

    我正在 x64 计算机上搜索 Microsoft Access 数据库引擎的注册表项 这是我的代码
  • MSDeploy 是否足够“友好”,或者可以将其封装在 MSI 文件中

    您认为 MSDeploy 包是让最终用户在其系统上安装 Web 应用程序的一个不错的选择吗 与使用 MSI 文件安装 Web 应用程序的体验相比如何 有人尝试过将 MSDeploy 包封装在 MSI 包中吗 会起作用吗 据我描述 MSDep
  • Wix 自定义对话框

    目前 我们的安装向导使用的是 Wix 经典主题 现在 我们计划改进安装程序的外观和感觉 1 我如何将自定义对话框经典主题更改为其他主题 2 在安装我们的设置时 我们计划显示一些图像 例如幻灯片放映 是否可以像 Wix 中那样显示图像 我是否
  • 使用 XSLT 转换 Heat 生成的 .wxs(添加RegistryValue 并编辑一些值)

    这是我想要的输出
  • 不同分区中的 COM+ 对象激活

    我创建了一个 COM 域分区 然后将其映射到 Windows 2008 服务器计算机 并将 COM 应用程序导入其中 我尝试使用以下 C 代码远程激活服务器上特定分区中的对象 partition guid Guid guidMyPartit
  • 如何在具有提升权限的 WiX 中创建的 MSI 中运行自定义操作?

    我有一个安装程序需要访问注册表并使用自定义操作复制和删除文件 在 Windows XP 中 安装程序运行良好 但在 Vista 和 7 中 安装程序显示错误 因为它无法访问文件夹 但如果我以管理员身份运行安装程序 则一切正常 因此 我需要安
  • Wix引导程序

    我使用 WPF 编写了一个托管 wix 引导程序 实际的安装步骤需要链接多个 msi exe 和批处理文件
  • msiexec 返回负数

    安装 MSI 时 我从 msiexec 收到奇怪的返回代码 即 2147021886 我想我记得在某处读到这是某种格式或编码问题 但我找不到参考 我还发现一个微软页面谈论 PS2 o 存在负返回码问题 但这种情况发生在 PS5 0 中 神奇
  • 如何在两个 WiX 项目中共享 WiX 片段?

    我们在 SomeDialog wxs 文件中有一个 WiX 片段 它提示用户输入一些信息 它在控制对话框顺序的 InstallerUI wxs 文件中的另一个片段中引用 当然 Product wxs是我们的主文件 效果很好 现在 我有第二个
  • 如何使用 wix 将多个元素添加到 XML 配置文件中?

    我正在尝试使用 Wix 编辑 XML 文件 我正在使用与 Wix 3 7 捆绑在一起的 WixUtilExtension xml 文件是在 Visual Studio 2010 中为 C 应用程序创建的设置文件 在此文件中 我使用一个用于在
  • 从 WiX 提升的安装程序运行未提升的自定义操作

    我正在尝试弄清楚如何从提升的 WiX 安装设置程序运行自定义操作 WiX 生成的 msi 文件由 DotNetInstaller 执行 在 WiX 中 我有一个 Package 部分 其中 InstallScope 设置为 perMachi
  • 添加/删除程序中的 Wix 图标

    我正在使用 Wix 来创建我的安装程序 据官方称文档 http wixtoolset org documentation manual v3 howtos ui and localization configure arp appearan
  • 与 WiX 3.0 一起安装 WiX 3.5

    是否可以同时安装 WiX 3 0 和 3 5 如果我在安装 3 0 后安装 3 5 它会删除 3 0 文件 如果我尝试在 3 5 之后安装 3 0 它会告诉我已经安装了较新的版本 我正在从 VS 2008 迁移到 VS 2010 因此我的应
  • 如何创建 heat.exe 收集的文件的快捷方式?

    使用 WiX Toolset 3 10 并尝试创建已使用 WiX Toolset 收获的某些文件的快捷方式heat exe效用 如 WIX bin heat exe dir SourceDir nologo platform x64 ke
  • 使用 元素通过 Wix 运行 SQL 脚本文件

    我是 Wix 安装程序的新手 我有一个要求 必须提供 SQL Server 登录凭据并从特定路径运行脚本 我不明白出了什么问题 项目已成功构建并创建了 msi 运行后我收到以下错误 错误26204 错误 2147217900 无法执行SQL
  • 自定义 WiX Burn 引导程序用户界面?

    我主要使用 WiX 3 6 创建一个安装包 这样我就可以利用Burn http en wikipedia org wiki WiX Burn引导功能 到目前为止 我已经将多个 MSI 软件包捆绑在一起 这些软件包将与内置引导程序应用程序一起
  • 防止打开 VB 应用程序的多个实例

    我的 VB6 应用程序由 MS Access 数据库支持 允许用户打开应用程序的多个实例会产生冲突并更改连接的数据库 理想的解决方案是 如果用户尝试打开新实例 则关注现有实例 我怎样才能达到这个目的 Use App PrevInstance
  • Wix:动态添加功能

    我们正在使用 Wix 为我们的软件构建 msi 我们有一些要在目标机器上实现的组件 插件 每个客户端的插件都不同 我们想要做的是创建一个标准构建并修改 msi 包中的功能列表 有没有办法通过自定义操作动态更改功能列表 例如 从自定义操作中读
  • 使用“Any CPU”而不是“X86”编译wix项目

    当我编译一个wix项目 并且wix通过MSbuild启动所有现有项目的编译时 我可以使用 任何CPU 而不是 X86 或 64位 吗 如果没有 我如何使用 任何CPU 编译项目 如果您的问题是是否可以编译 WIXPROJAny CPU那么答
  • 让 WIX 在项目中包含引用

    我对 WiX 和设置自定义安装程序完全陌生 所以我对问题的主题表示歉意 我有一个内部业务应用程序 日记 它构建并运行良好 因此我按照教程 官方文档添加 WiX 项目并引用日记的 csproj 然后构建并运行这个最基本版本的 WiX 安装程序

随机推荐

  • 使用 Perl 从文件中读取部分

    我正在尝试从 Perl 中的输入文件读取值 输入文件如下所示 1 sampledata1 This is a sample test and data for this continues 2 sampledata2 This is sam
  • 如果我在商业网页中添加微软雅黑粗体字体,是否会与微软产生版权问题? (使用CSS3)

    如果我添加以下内容 我会遇到 Microsoft 的版权问题吗 font face我的商业网页中的 CSS3 属性 字体为 Microsoft YaHei Bold Windows Vista 的 Cleartype 中文字体 看来还是小心
  • Orange() 与 range() 和 xrange() 有什么不同?

    当我遇到这个时 我正在浏览 Python Generators Wiki范围发生器 https wiki python org moin RangeGenerator谈论的页面irange 这将使我们能够对大范围的数字进行迭代 而无需 求助
  • JavaScript 有元组吗?

    我很想知道 JavaScript 中是否有 python 类型元组 我正在开发一个项目 我需要只使用对象列表而不是数组 JavaScript 不支持元组数据类型 但在数组解构的帮助下 可以像元组一样使用数组 有了它 数组可用于从函数返回多个
  • 中继器内的 ASP.NET DataGrid

    我有一个有两列的表 CommunityID PersonID 和一个 人员 表 其中包含 除其他外 FirstName LastName 我想为每个社区显示不同的数据网格 每个数据网格仅包含属于该社区的人员 我想在不使用 4 个单独的 Sq
  • Android 打电话时播放声音

    我想在有人接到电话时播放 Android 手机上的音乐 我可以播放音乐 但对方听不到该音乐 如何让对方听音乐 应该怎样编码才能将音乐播放插入麦克风让对方听到 我收到了关于此功能的不同建议 检查这里是可能的 http forums whirl
  • 芹菜失去心跳(on_node_lost)

    我刚刚升级到 celery 3 1 现在我在我的日志中看到了这个 on node lost INFO missed heartbeat from celery queue name for every queue worker in my
  • jsonconvert.deserializeobject 返回 null

    当用户输入城市和街道等地址的 2 个值 目前 时 我试图从谷歌地图获取坐标 来自谷歌地图 api 的 Json 字符串的反序列化遇到问题 必须非常简单 请帮助我关于我所缺少的 这是 json 字符串 http pasted co d9e7c
  • 如何在 Markdown 中为 Pandoc Beamer 幻灯片指定 YAML 元数据?

    我正在尝试使用 YAML 元数据块来指定 Pandoc 的 Markdown 文档中的一些文档属性 我将其转换为 LaTeX Beamer 我在这里阅读了描述 http johnmacfarlane net pandoc README ht
  • 使用 TableAdapter 重新加载数据

    private void UserList Load object sender EventArgs e TODO This line of code loads data into the workOrdersDataSet users
  • 使用 ES6 import 语句时,有没有办法防止项目未定义?

    import foobar1 foobar2 foobor3 typo this key doesn t exist in the module from module file js console log foobar1 foobar2
  • PHP preg_match_all 在长字符串上失败

    这是我的代码 long str repeat a very long string text 100 try changing 100 to 5000 str lt lt
  • 为什么我的汇编输出位于字母位置? (1+1=b)

    我正在使用塔斯姆 这是一个简单的程序 可以读取用户的输入并将两个数字相加 但是 我的输出是根据字母位置显示字母 例如 3 5 h 8 我希望它以整数显示 model small stack 100h data input db 13 10
  • 如何在 Apache 中集成 Clojure Web 应用程序

    Note 鉴于这个OP是大约两年前写的 我不想再问同样的问题 我想知道是否存在分步说明 以便我可以将Noir或其他Clojure Web应用程序集成到Apache中 无论是Jetty Tomcat 或者是其他东西 Django 也有类似的说
  • angular2快速启动仅显示正在加载..而不显示index.html的内容

    第一次使用 angular2 按照以下说明5 分钟快速入门指南 https angular io docs ts latest quickstart html 对于角度 2 一切正常 意味着运行时没有错误npm start npm 启动镜像
  • 在windows中用纯C创建唯一的临时目录

    我想从一些 C 在 Windows 中创建一个唯一的临时目录 代码 不是 C 或 C 我想这样做 以便我可以放置一些温度 目录中的文件 然后在完成后轻松将它们全部删除 通过递归删除目录 我本质上是在寻找与linux相当的东西mkdtemp
  • 从数据库填充组合框

    我的组合框出现错误 My code SqlConnection conn new SqlConnection try conn new SqlConnection Data Source SHARKAWY Initial Catalog B
  • 使用 Flash IDE 测试电影无法从本地主机加载文件

    我只是想知道是否有人可以帮助我解决我的简单但令人沮丧的问题 我创建了一个 SWF 可以从以下位置加载 XML 文件http localhost flash Projects MEL Quiz Quiz bin xml quiz xml ht
  • 在 WKWebView 中启用应用程序缓存

    我知道 iOS WKWebView 不支持离线应用程序缓存 这是在 Safari 中启用的 所以我在 webkit 项目中搜索了负责的代码并发现了这个 WK首选项 void setOfflineApplicationCacheIsEnabl
  • 使用 Wix 工具集安装应用程序的多个实例

    我只需要安装应用程序的多个实例 将它们保存在不同的文件夹中 桌面上没有快捷方式 换句话说 当应用程序已安装在文件夹中时 如果我再次双击 msi 文件 安装程序不应询问我是否要修复或删除我的应用程序 而只是允许安装它在一个新文件夹中 我怎么解