问题标签 [installshield-2014]
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.
installshield - 如何在特定对话框之后对自定义操作脚本进行排序?
我已经使用 InstallShield 创建了一个基本的 MSI 项目,我想在两个对话框之间运行一个自定义操作脚本。
这显示了我的执行顺序,我想将自定义操作移动MyCustomActionScript
到箭头指示的两个对话框之间。
我怎样才能做到这一点?我是否需要以某种方式进行更改以使对话框不嵌套(这是它们自然创建的方式)?还是我必须做其他事情,比如DoAction
在目标对话框上运行?如果是这样,执行序列会在脚本完成后自动移动到下一个对话框,还是我必须编写脚本来移动执行?
(请注意,脚本是对 INSTALLDIR 属性的简单操作,并不复杂。)
basic-msi - Installshield 2014 Basic MSI 动态隐藏功能不安装功能
我已经使用 InstallShield 2014 为服务器/客户端程序创建了一个基本 MSI 安装程序,并且必须根据在安装我们的服务器应用程序之前安装的数据库的许可证密钥动态隐藏功能。我已经为需要隐藏的功能创建了条件,如果它们没有被许可,则将 InstallLevel 设置为 0,如果它们被许可,则设置为 1。我在 SQL 登录对话框之后获得了许可证密钥(因为安装程序不知道要查看哪个数据库),但是在创建对话框之前运行的 CostFinalize 操作期间评估条件。因此,在我获得许可证密钥并运行其他一些自定义操作以确定每个功能的可用性之后,我会在显示 CustomSetup 对话框之前调用 CostFinalize 操作。
对于需要显示的功能,我得到了正确的行为,您可以在对话框中选择或取消选择所述功能,但是,当安装执行时,未安装所选功能......并且日志文件显示即使用户明确选择了该功能,也不会选择安装该功能。为什么会发生这种情况?是否有另一种动态隐藏功能的方法(我在 InstallScript 操作中尝试过 FeatureSetData 功能,但无济于事)?
此外,在将条件添加到功能后,每当我尝试从“程序和功能”应用程序中卸载该程序时,都会收到错误 1606 无法访问网络位置。当功能存在条件时,就像注册表项被弄乱了......任何帮助将不胜感激。
sql-server - SQL Server 2008 R2 的静默安装仍向用户显示 UI - 如何使 UI 不显示?
我有一个使用 InstallShield 2014 Pro 构建的安装项目,我在安装的某个部分遇到了问题。
在阅读了几篇关于 stackoverflow 的博客、MSDN 文章和帖子后,我请求帮助以安静地安装 Sql Server 2008 R2 作为我的应用程序的先决条件之一。这是我到目前为止所做的:
- 将 pre req 添加到安装项目中,确保添加了 Sql Server 2008R2 的所有必要 pre req。
- 设置 pre req 安装顺序以确保首先安装 Sql Server 的必要 pre reqs。
在编辑器中打开 Sql Server pre req 来设置命令参数。
我设置的那些原始参数是:
/QS /HIDECONSOLE="True" /ACTION=安装 /IACCEPTSQLSERVERLICENSETERMS /FEATURES=SQLENGINE /INSTANCENAME=MSSQLSERVER /SECURITYMODE=SQL /SAPWD="************" /TCPENABLED= 1 /SQLAUTOSTART=1 / AGTSVCACCOUNT="NT AUTHORITY\网络服务"
那没有用,所以我尝试了这个:
/QS /Action=安装 /Hideconsole /IACCEPTSQLSERVERLICENSETERMS /SkipRules=RebootRequiredCheck /FEATURES=SQLENGINE /InstanceName=MSSQLSERVER /AGTSVCACCOUNT="NT AUTHORITY\Network Service" /AGTSVCSTARTUPTYPE=Automatic /SQLSVCACCOUNT="NT AUTHORITY\Network Service" /ASSYSADMINACCOUNTS=" NT AUTHORITY\Network Service" /SQLSYSADMINACCOUNTS="Builtin\Administrators" /BROWSERSVCSTARTUPTYPE=自动 /SECURITYMODE=SQL /SAPWD=********* /ADDCURRENTUSERASSQLADMIN=True /TCPENABLED=1
现在,pre req 在安装过程中被识别并且 Sql 安装被解包,但随后 UI 显示给用户。这是我需要避免的!
那么我到底错过了什么或做错了什么?我感谢任何和所有对此的回应!
在此先感谢,埃里克
installation - 在 Installshield 中读取文件并填写表格
我试图找到使用 C# 库读取/写入配置文件的方法,我在 Visual Studio 2013 中运行 Installshield 2014,我已经有了对话框。我添加了一个自定义操作类型=“从托管程序集中调用公共方法”,并选择“随产品一起安装”选项,并选择主要输出作为针对相关类和方法的源,但这不起作用。我不知道它到底有什么问题,对话框应该在安装之前出现。有任何想法吗?
visual-studio-2012 - VS2012 和 InstallShield 2014 Premier 问题
我一直InstallShield2014LE
在我们现有的项目中使用 VS2012。我们最终购买了安装的 2014 Premier,当我打开/加载在主项目旁边有一个 2014LE 安装项目的现有解决方案时,当我添加 2014 时出现以下错误基本 MSI 项目:
系统无法打开指定的设备或文件。(来自 HRESULT 的异常:0x8007006e)
我可以使用独立的 InstallShield 应用程序创建项目。
甚至我也可以在 Visual Studio 2012 中创建新的解决方案,然后将基本的 msi 添加到其中。这工作得很好,但是当我尝试在 VS2012 中加载 .ISM 文件或添加基本的 msi 时,我得到了上述错误。
有任何想法吗?
c# - 如何设置“InstallShield Prerequisites Location”?
我正在使用 InstallShield 2014 Pro 和 C# 自动化通过 TFS 处理构建。我可以将其配置为构建为 setup.exe 并通过 GUI 从 setup.exe 中提取先决条件,但是当我通过代码执行此操作时,它从不设置“InstallShield Prerequisites Location”。我很满意它是“从 Setup.exe 中提取”或“按照个人选择”。它始终默认为“从源媒体复制”,即使它是一种网络媒体格式....
这是我为新创建的版本设置的设置:
除非我错过了它,否则帮助中没有此选项:http: //helpnet.installshield.com/installshield21helplib/installshield21helplib.htm。
我相信我至少已将其范围缩小到 ISRelease 中的 ISSetupPrerequisiteLocation(在直接编辑器中)。它应该是 1 但默认为 0。如何更改它仍然让我望而却步。
顺便说一句,我已经三重检查了所有先决条件是否都设置为从 setup.exe 中提取。
c# - 通过 Installshield 启用 Windows 功能\角色
我们的应用程序支持操作系统“Windows server 2012 R2”。我们有一个应用程序,我们需要在其中启用“应用程序初始化”功能。我们使用 Installshield 2014 来制作我们的应用程序的安装程序。我找到了检查任何 Windows 功能状态的实现。我尝试了以下代码,它为我提供了已安装功能的列表:
我的问题是:installshield 中是否有任何内置功能可以启用 Windows 功能?或者我们需要为此编写任何自定义操作。 如果我们需要编写自定义动作,那么如何通过 c# 代码启用 windows 功能。
谁可以帮我这个事。
感谢期待。
redgate - RedGate SQL 比较 SDK API 许可问题
首先很抱歉,我不得不写这个冗长的问题,但是有必要写这些东西来更好地解释我的问题。
我们有一个安装程序来安装我们的应用程序。我想通过安装程序升级数据库。所以,我创建了最新结构数据库的快照,并放在应用程序的包中。我使用 RedGate SQL 比较 SDK API 来比较两个数据库的结构,然后将客户数据库与最新的快照(我提供的)同步。
我正在使用自定义操作类库项目来编写方法,这些方法将被称为安装程序本身。
我已经购买了 RedGate 许可证密钥,并且 RedGate 工具也安装在一台机器上。在同一台机器上,我有一个 installshield 许可证,所以我只在该机器上编写自定义操作代码。
我们需要在使用 RedGate SDK API 的项目中添加“licenses.licx”文件。我已经添加了“ http://documentation.red-gate.com/display/CSD11/Distributing+your+SDK+applications ”中提到的那个文件。
我已经添加了该文件并且编译成功,因为我在同一台机器上激活了许可证。因此,首先要在项目中嵌入许可证,我已经从已安装的 RedGate 中停用了 RedGate 许可证,然后在编译项目时,我得到一个激活弹出窗口,如下所示:
我已经应用了有效的许可证,然后我从 installshield 2014 编译了安装程序项目(它正在使用自定义操作项目)。
我的同步数据库代码按预期工作。所以,我没有发现同步代码有任何问题。
在这里,问题是:如果我将产品安装在具有 Redgate License 的机器上,那么产品将被安装并且数据库将成功同步。在客户端机器上,很明显它们没有 RedGate 许可证。安装程序在开始同步之前给出如上图所示的激活弹出窗口。
即使我在编译时已经提供了有效的许可证,我也无法在其他机器上同步数据库。
希望,有人对此有解决方案。
感谢期待。
windows-installer - ISDEV:致命错误 -1501 无法压缩文件
我是 Install shield Professional 2015 的新手,我们的项目以前由其他团队处理,他们使用 Installshield 12,之后我们被告知迁移到 Install shield 2015(我们没有 IS12 的副本)他们正在构建使用 IS 12 独立构建的代码,他们曾经IsSaBld.exe
通过命令行构建 Install shield 项目,因此使用 IS 15 Professional 构建相同的项目。
我只是更改了路径并将 exe 名称从 IsSaBld.exe(在我们的构建系统代码中,它是一个 bat 文件)更改为ISCmdBld.exe
(在 中/IS15/System/
)
项目构建良好,没有其他错误,除了少数文件丢失错误,我能够解决这些但不是这个错误:
ISDEV:致命错误 -1501 无法将文件“\win32\dll\Admin.dll”压缩到“\my_sdk_mm\MSIImage\DiskImages\DISK1\MERGEM~1.cab”
即使文件存在。
请有人帮我解决这个问题
提前谢谢。
installshield - SQLLogin 对话框中的数据库名称未在 installshield 基本 MSI 安装程序中更新
我正在创建一个基本的 MSI 项目。在 SQLLogin 对话框中,如果我从文本框中删除数据库目录名称,然后浏览现有数据库,则单击“确定”时该值不会出现在文本框中,但如果我单击“返回”然后该值会出现在该字段中(意味着它正在更新,但我猜没有显示)。如果我在删除/编辑文本框后不更新它,它可以正常工作。这是一个开放的问题吗?还是我错过了一些设置?