问题标签 [basic-msi]

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 回答
1752 浏览

windows-installer - InstallShield:在本地复制源

如何将安装源复制到本地驱动器,以便修复安装不需要原始介质?

这是一个基本的 MSI 项目。

0 投票
1 回答
1527 浏览

events - 在基本 MSI 项目的内部对话框中处理 CheckBox Checked 事件

工具:InstallShield 2009 Premier、基本 MSI 项目

我添加了一个内部对话框,并在该对话框中添加了一个复选框

现在,如果选中该复选框,我想退出设置(或者,显示一个消息框)。

如何?

0 投票
1 回答
1525 浏览

xml - 安装期间 XML(.config) 更改(installshield 2010)

我正在开发 installshield 2010 应用程序,但“文本文件更改”和“xml 文件更改”不适合修改配置文件(包括 app.config),因为不支持应用条件(如“if”语句)并生成元素(属性) xml 文件中的顺序已修复。

任何人都可以建议“安装期间配置更改的最佳实践”吗?

0 投票
4 回答
2885 浏览

windows-installer - 将安装脚本转换为基本 MSI

有没有办法在 installshield 2010 中将 InstallScript 转换为 Basic MSI?

0 投票
2 回答
1625 浏览

installation - 从 InstallScript 项目转换为 Basic MSI 的可行性

我有一个纯 InstallScript 项目,由于这个问题,结果证明是有问题的。通过添加一些在安装新文件之前擦除特定目录的 InstallScript 临时解决了这个问题,这并不理想。但是,这一系列论坛帖子表明 InstallScript MSI 项目或 Basic MSI 项目将大大简化升级时动态链接文件的删除。

搜索 Flexara 论坛,我发现很多帖子都反对 InstallScript MSI 项目类型,所以我正在查看 Basic MSI。显然 Flexara 有一个名为 Repackager 的产品,它可以将 InstallScript 项目转换为 Basic MSI。但是,它只附带 IS Premier 或 Admin Studio,这意味着我们必须花一些钱。在我走这条路之前,我需要一些迹象表明这可能会奏效。

  • 使用 Repackager 工具从 InstallScript 转换为 Basic MSI 时是否会丢失任何功能?我们的脚本中有相当多的逻辑,包括像这样在安装的几个步骤中传递信息的东西。我们还使用了几个 InstallShield NT 服务对象,我相信我必须与 IS2010 分开安装的遗留对象。是否有已知 Repackager 无法处理的 InstallScript 项目的任何方面?
  • 如果 Repackager 不会神奇地转换项目,是否有我可以遵循的指南手动进行转换?我发现 InstallShield 文档和论坛非常缺乏。
  • 生成的基本 MSI 安装包是否能够在安装了旧(纯 InstallScript)版本的系统上执行升级安装?这真的是一个奖励。在这一点上,我预计我们将被迫进行完全卸载/重新安装。
0 投票
1 回答
821 浏览

installshield - (installshield 2010) 有条件的功能选择

(基础 MSI 项目)

我想在取消选择所有子项时自动取消选择父功能,但我在 installshield IDE 上找不到任何选项。

例如,
(特征选择对话框)

特征 A
--- 特征 A-1
--- 特征 A-2


如果用户取消选择 A-1 和 A-2,我希望 A 也自动取消选择。

我怎样才能做到这一点??

0 投票
2 回答
2571 浏览

xml - 在 InstallScript 中更新 .config XML

我正在尝试编写一个简短的安装脚本来更新 XML 文件 (myplatforinfo.config) 中的值。

我可耻地从 [this post on a similar task]{http://stackoverflow.com/questions/4129633/how-to-update-attributes-in-an-xml-file-with-installscript} 中窃取了代码,但是有为我的需要破解了它。

然而,它在加载方法上失败了,需要帮助!:

我不确定为什么。该文件是一个有效的 XML 文件,它可以由使用它的 .Net 代码处理。下面我包含了 XML 配置文件的简化版本。只是使用的标题和标签,但结构是相同的。它有注释,这会影响 InstallShield 解析器吗?

我只与 InstallShield 2011 斗争了很短的时间,但我很快就学会了喜欢它的功能,讨厌它的开发支持和缺乏清晰的 UI。欢迎任何帮助:)。

编辑:正如 Michael Urman 所指出的那样,我没有正确处理来自我的 XML 文档加载的布尔返回。我已经进行了这个编辑,我的脚本现在已经到了“getNamedItem”并设置了值。

这可能是因为我希望设置的字段不是命名的“值”属性吗?我的元素没有任何属性,但我怀疑元素的值是一个名为“值”的属性,哈哈。我猜错了吗?

进一步编辑!!不,不是上面的……我已经尝试了 node.Value 和命名元素路由,调试器在新值的“setter”行上崩溃的两种方式。想我可能只需要使用内置功能。

0 投票
2 回答
2608 浏览

windows-installer - Is it possible to set product version at build time in a Basic MSI project?

I have an InstallScript project that I'm looking at manually recreating as a Basic MSI project. For the InstallScript project, we obtain the product version at build time through the following mechanism:

  • Ant does all the compiling, testing, etc. and during this process obtains a build version number.
  • Ant calls IsCmdBld.exe, passing the build version as an environment variable.
  • Installshield has an "Environment"-type path variable configured, which picks up the build version.
  • This path variable is specified in the General Information -> Product Version field.

Unfortunately, it looks like the Basic MSI project does not allow path variables in the Product Version field.

Does this mean the product version has to always be manually modified before each build with a Basic MSI project? Or is there a different way to pass the version to InstallShield?

0 投票
1 回答
781 浏览

windows-installer - 如何动态链接到(尚)不存在的目录?

我有一个 InstallScript 项目,我正在考虑将其手动重新创建为基本 MSI 项目。对于 InstallScript 项目,我们有几个组件利用动态文件链接,并链接到路径变量中指定的位置。

但是,当我尝试在 Basic MSI 项目中执行此操作时,我收到错误消息:“您输入的文件夹名称不是系统上的有效文件夹名称。” 这是完全正确的 - 指定的目录不存在,但它们将在构建时创建,在安装程序编译之前。InstallScript 项目似乎对动态链接到当前不存在的目录毫无疑虑。Basic MSI 拒绝这样做。

有没有办法链接到不存在的目录(还)?我是否需要在这些位置创建虚拟文件夹以安抚 InstallShield?

0 投票
1 回答
12181 浏览

installshield - InstallShield 执行卸载自定义动作

执行卸载时如何执行自定义操作?自定义操作位于基本 MSI 项目中,我使用的是 InstallShield 2010 Premier。我尝试将安装 UI 序列设置为在 SetupProgress 之后,并将安装 UI 条件设置为 REMOVE=”ALL”,但在卸载过程中没有调用该操作。

任何帮助将不胜感激。