问题标签 [wixsharp]

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 投票
0 回答
296 浏览

wix - 如何更改 wixsharp 引导程序 InstallDir

我的HyperlinkLargeTheme.xml中有以下代码:

下面是如何在 C# 中使用引导程序的代码:

然后安装程序使用编辑框的内容将文件放在正确的目标位置。但是,当使用 BrowseButton 浏览文件夹时,编辑框的内容不会改变。如果我将 Editbox 的 name 属性更改为“FolderEditbox”,则浏览按钮将正常工作,但是无论编辑框的内容如何,​​文件都会安装到默认安装目录中。如何完成使用按钮浏览和安装到所选目录?

0 投票
2 回答
2071 浏览

c# - 使用 WixSharp 如何在卸载时执行的自定义操作期间获取正确的 InstallDir 路径

我使用 WixSharp 创建了一个带有 WiX 的 msi 设置。它包括几个自定义操作。例如,在安装期间,我正在执行一些正在安装和启动服务的批处理文件。在卸载过程中,它应该停止并再次卸载该服务。

现在到了关键部分。我需要在安装和卸载期间执行位于 INSTALLDIR 某处的批处理文件:

使用默认安装路径时,一切运行顺利。但是,如果我在安装期间将默认安装路径更改为某个自定义路径,则安装步骤会正确找到 .bat 并执行它,但在卸载期间它会在默认文件夹中搜索 .bat 文件。尽管卸载程序正确地删除了正确位置上的文件。所以自定义安装路径必须保存在某个地方。如何正确访问它?

0 投票
1 回答
1680 浏览

c# - Wixsharp 如何引用自定义动作项目

我的解决方案中目前有两个项目,一个构建 msi 的部署项目和另一个包含我的自定义操作的项目。我无法引用我的自定义操作,同样的两个错误不断出现:


部署项目

自定义动作项目

0 投票
2 回答
1560 浏览

c# - WIxsharp 在控制台中调试自定义操作

我有一个编译为 .dll 的自定义操作项目,我希望能够逐步执行我的自定义操作,我知道可以将包更改为 wixsharp.bin 但这并不实用。无论如何,我仍然尝试了这种方法,但它没有达到我的断点。

Wix 使用:System.Diagnostics.Debugger.Launch();在调试中启动操作,这似乎不适用于 wixsharp,但它的预期结果是我想要实现的。

我已经看到 debug.assert 可用于调试,并且我还看到了对#if DEBUG #endif如何正确调试的参考?

0 投票
1 回答
593 浏览

wix - 在 WiXSharp 中创建动态安装目录

我的目录有问题,我希望我的 InstallDir 成为我的顶级父目录,并且任何其他 Dir 都包含在此文件夹结构中。我已经尝试了多种方法,但似乎无法解决,但我的目标是能够使用 installDirDialog 来更改安装位置。保持不变的目录可以正确安装,但是如果我要更改安装位置,它只会构建新的文件夹结构,并且文件安装安装到默认位置。我知道它为什么要安装到这个位置,因为它引用了一个静态字符串,我只使用下面的例子来简化我遇到的问题。

另一种方法是使用 MSI 属性并将其设置为安装路径。

在 setup.cs string dirs = General.InstallLocation;

然后我在安装对话框中设置此属性。 MsiRuntime.Session[General.InstallLocation] = installDir.Text;

这也不起作用,只通过 INSTALLDIRECTORY 作为路径。

0 投票
1 回答
68 浏览

wixsharp - 在对话框中加载自定义程序集

我在 wixsharp 设置控制台应用程序项目中使用自定义对话框。

我已经引用了 2 个我想在自定义对话框中使用的程序集。每当加载对话框时,它都会尝试加载程序集但失败。给出未找到文件的错误。

甚至可以在自定义对话框中加载自定义程序集,应该如何完成?

0 投票
0 回答
64 浏览

.net - 删除捆绑包但保持其已安装的 msi

我想创建一个像 Resharper 或 VisualStudio 这样的安装程序,其中包含几个 msi,每个 msi 有三个按钮:

  • 安装更新
  • 跳过
  • 消除

我正在使用自己的 UI 和自己的 BootstrapperApplication。我有两个相同的捆绑包,但版本不同

  • 捆绑版本 1 (v1)
    • mysql v1
    • 记事本++ v1
  • 捆绑版本 2 (v2)
    • mysql v2
    • 记事本++ v2

1)我安装了bundle version 1 - 没关系,现在我已经安装了bundle、mysql、notepad++
2)然后我运行bundle version 2并且只想更新mysql并跳过更新notepad++,这就是问题所在:

捆绑 v2 执行以下操作:

  • 将 mysql 更新到 v2 - 没关系
  • 使用标志 -uninstall -quiet 调用捆绑包 v1,并且此捆绑包 v1 删除了记事本++ - 不行

问题:

  • 是否可以删除捆绑包并保持其已安装的 msi?
0 投票
0 回答
79 浏览

c# - Wixsharp 在设置中设置文件关联

我试图弄清楚如何在“Wixsharp”中设置文件关联,基本上我需要创建一个设置,并选择一个复选框来关联文件类型。问题是:我该怎么做?

0 投票
1 回答
945 浏览

c# - 如何在使用 WIX.sharp 安装服务后运行 exe 文件(我的目标 - 为服务创建 msi)?

我正在使用 WIX.sharp 创建 msi。请帮助我:安装服务后如何运行exe文件?现在它会导致错误(当我使用我的 msi 时)。我的应用程序启动服务的初始化配置文件。现在看起来像这样:

0 投票
0 回答
62 浏览

wix - WixSharp中会话和数据之间的区别?

我正在使用 WixSharp 创建一个安装程序,但在尝试了解 Session 和 Data 之间的区别时遇到了一些问题。我应该什么时候使用它们,它们的用途是什么?谢谢!

我尝试寻找文档,但我只找到了来自 wixsharp 创建者的 gitHub,其中包含示例。

我期望定义会话和数据。清楚地了解每个人的作用和用途。