问题标签 [bootstrapper]

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 投票
2 回答
717 浏览

wpf - 如何使用棱镜创建 WPF/Silverlight 模块,但也可以嵌入到非棱镜应用程序中

我想创建一个 WPF 或 Silverlight 模块,它不仅可以被 Shell 的引导程序使用,还可以嵌入到非 PRISM 应用程序中。

简而言之,有没有一种方法可以从模块本身初始化 PRISM 模块,而不是从 Shell 初始化?

Ulimate 的目标是拥有 WPF/Silverlight PRISM 模块,可以由非 PRISM 应用程序初始化。

0 投票
1 回答
625 浏览

bootstrapper - 将项目从 Caliburn.Micro 转换为“正常”Caliburn 的问题

需要将项目从 caliburn.micro 转换为正常的 caliburn。我对引导程序类有问题。

我的 caliburn.micro 看起来像这样:

我在注射时使用 MEF。

问题在于 Caliburn 中不存在 BooStraper 类。我该如何解决这个问题?

我需要来自外部程序集的负载类型。

感谢帮助

0 投票
1 回答
288 浏览

installation - 如何本地化 Visual Studio 引导程序?

我有一个带有以下 msbuild 引导程序设置的 wix 设置项目:

当引导程序对话框运行时,它具有英文 UI。EULA 已更改,但标签和“接受”等按钮仍为英文。是否可以本地化对话框或跳过它?或者以其他方式创建静默引导程序?

替代文字

0 投票
2 回答
806 浏览

msbuild - Windows 安装程序 XML (WiX)

我的应用程序需要 .Net Framework 3.5、Crystal Report 10.5 和 SQLServer Express 2005 作为先决条件。为此,我创建了一个 wix 设置项目并为先决条件添加了 msbuild 任务。我当前的问题将套件安装到用户计算机时,水晶报告试图在 .net framework 3.5 之前安装。如何更改先决条件的顺序?

我当前的 msbuild 任务代码如下;

0 投票
2 回答
2765 浏览

deployment - 在 C# 中创建自定义引导程序/引导加载程序

我们决定为我们的部署解决方案创建一个自定义引导程序。我们目前正在重新编写和重新设计我们所有产品的部署策略。可悲的是,我们都不是部署专家。

以下是我们目前所拥有的:

A. MSI 软件包将在 InstallShield 中编写。我们将使用 Installshield 提供的任何功能(IIS 集成、COM 注册、注册表等)。将不会使用 InstallShield 创建的对话框(这就是引导程序的用途)。MSI 将静默安装。

B. 每当我们需要为 InstallShield 无法处理的内容编写 CA 时,我们将使用 DTF 在托管代码 (C#) 中编写它们。我们将创建一个“自定义操作框架”,它将“标准化”我们如何使用自定义操作。

C. 我们将在 C# 中创建一个自定义引导程序(“setup.exe”)来“处理”安装。

我们决定采用多 MSI 方法并使用 MSI 事务从 boostrapper 中“链接”安装(灵感来自 Office 2007 安装程序)

我们设想创建的 boostrapper 的灵感来自 Visual Studio 和 SQL Server 的 bootstrapper。助推器将负责以下工作:

  1. 先决条件安装:每个应用程序都需要一个先决条件。这些先决条件与其他元数据一起列在与 MSI(灵感来自 Office 2007 安装程序)位于同一文件夹中的 XML 文件中。根据系统的当前状态,boostrapper 将决定安装或不安装哪个先决条件。
  2. 功能选择:我们计划以不适合立即向最终用户显示的方式构建“内部”MSI 功能。我们将功能标记为“Core_Files”、“Vista_Only”或“64bit_Only”。根据 XML 文件(第 1 项)和目标系统上的元数据,引导程序将负责“填充”用户可以自定义的“功能树”(也受 Office 2007 引导程序的启发)。
  3. 安装前检查:引导程序将负责检查系统是否准备好接收安装。例如,如果机器需要在安装之前重新启动,或者如果用户需要手动安装服务包、补丁或 Windows 组件。任何需要用户干预的事情都应该在这里显示。将其视为带有检查和 exe 的检查列表(列表框)。(灵感来自 SQL Server 的引导程序)。“规则”将用 C# 编写。
  4. 应用程序配置:对于需要在安装前“配置”的应用程序。这些“参数”(用户配置)将通过MSI Properties传递给相应的 MSI 。
  5. 实际安装:引导程序将执行安装。必要时应遵守适当的“交易”。应该组合在一起的所有“产品”应在添加/删除程序中显示为一个产品(通过弄乱 ARP 条目)。此外,每个正在安装的 MSI 都应报告正确的进度。

——这就是我们目前所拥有的。

我认为有一些开箱即用的解决方案可用于创建自定义引导程序,如 dotNetInstaller 和 BMG。我们已经对其进行了研究,但它并不像我们希望的那样灵活。还有BURN,但我们不确定它是否准备好迎接黄金时段。

所以我们在这里......我们决定创建自己的自定义引导程序。

问题:

我们疯了吗?我们不应该创建自己的引导程序吗?上面列出的哪些想法是不现实的?有更好的方法吗?

任何有关我们情况的意见将不胜感激。另外,如果您有任何问题,请不要犹豫。

0 投票
2 回答
323 浏览

.net - 将多个 MSI 滚动到单个 EXE 中

我正在使用 VS2010 和 wix3.5 我正在生成 3 个不同的 MSI(驱动程序包、托盘应用程序和主应用程序),我想从一个 .EXE 文件安装所有 3 个。

我知道我需要使用引导程序,什么是最简单的(就易用性而言)可以按顺序安装我的 MSI(它们不相互依赖)?

0 投票
3 回答
830 浏览

winforms - 以数据库为先决条件的 ClickOnce 部署

我有一个想要使用 ClickOnce 发布的 Winforms 应用程序。此应用程序带有一个初始数据库,必须在每台机器上安装一次。经过一番折腾,我想到了使用自定义先决条件来安装 .sdf 文件。我使用 Bootstrapper Manifest Generator (BMG) 为我要运行的 .cmd 文件创建了一个包,并将 .sdf 文件作为“附加文件”包含在内。

我的期望是这两个文件最终会出现在同一个目录中,并且我可以将 .sdf 文件复制到我想要的位置(它们确实会出现在同一个目录中。)先决条件出现了在 Visual Studio 中就好了。它可以很好地部署到客户端系统,并且安装程序很好地启动了先决条件。

唯一的问题是 .cmd 文件正在执行的当前工作目录是 C:\Documents and Settings\\Desktop!

这两个文件(.cmd 或 .sdf)都不在那里——它们是在别处下载的,例如“C:\Documents and Settings\drogers\Local Settings\Temp\VSD5A.tmp”。所以,虽然我知道 xcopy 到哪里,但我不知道从哪里 xcopy。

我该如何解决这个问题?

这是 .cmd 文件:

谢谢,大卫

0 投票
1 回答
2494 浏览

wpf - PRISM 引导程序问题

我正在启动一个 PRISM + MEF、WPF 应用程序。

在引导程序中,我遇到了一些问题。找不到 RootVisual 属性(silverlight vs wpf?,我应该用什么代替 WPF?),我看到每个人都使用 UserControl 作为外壳

如何在 PRISM (MEF+WPF) 中将 RibbonWindow 设置为 'rootvisual' (shell)?(我启动了一个功能区 WPF 应用程序)。也许这不是我想要做的事情,但我没有找到任何使用 RibbonWindow 而不是 UserControl 作为 WPF 应用程序的 PRISM 中的 Shell 的示例。

我搜索了stackoverflow,但它无法为我提供明确的答案。

提前致谢。

编辑:确实是Window,过了一会儿才发现。“d0h!”

0 投票
1 回答
401 浏览

msbuild - 如何确保为 ClickOnce *Bootstrapper* 填充“发布者”字段

我有一个通过 ClickOnce 部署的应用程序。我在 MSBuild 脚本中执行所有清单生成/签名。直到今天我们一直在使用自行生成的证书,但现在我已经获得了 Verisign 的证书。

当我运行“myapp.Application”安装应用程序时,我可以使用 mage.exe 和新证书成功签署我的清单,并且发布者字段正确显示。

但是,如果我运行我为应用程序生成的引导程序 (setup.exe),安装程序现在会说发布者是未知的(就好像我没有签署我的清单一样)。我不知道我需要对 Bootstrapper 做什么才能使发布者在安装确认对话框中正确显示。我尝试使用 SignTool 对 Bootstrapper 进行签名,但这似乎没有什么不同。

伪代码如下所示:

  1. 生成应用程序清单(使用 mage.exe)
  2. 签署应用程序清单(使用 mage.exe)
  3. 生成部署清单(使用 GenerateDeploymentManifest MSBuild 任务)
  4. 签署部署清单(使用 mage.exe)
  5. 生成引导程序(使用 GenerateBootstrapper 任务)
  6. 签名 Boostrapper(使用 SignTool.exe)

如果我的工作流程/工具没有明显问题,很高兴发布我的代码。

提前致谢!

0 投票
1 回答
1002 浏览

.net - Setup.exe 安装先决条件,即使它们已预安装

我正在以 .NET Framework 4.0 和 VS 2010 C++ 可再发行组件作为先决条件部署 .NET 应用程序。

当 setup.exe 在满足先决条件的机器上运行时,引导程序会再次安装它们。

这是一个已知的问题?解决它的正确方法是什么?