Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Installation InstallShield:将powershell自定义操作插入安装序列_Installation_Windows Installer_Installshield - Fatal编程技术网

Installation InstallShield:将powershell自定义操作插入安装序列

Installation InstallShield:将powershell自定义操作插入安装序列,installation,windows-installer,installshield,Installation,Windows Installer,Installshield,我有一个installshield项目,我有几个powershell自定义操作。 这些脚本会更改文件系统(提取zip文件、复制文件、安装软件包等)。 我想知道在安装顺序中我应该把它们放在哪里 我看过行会,但他们没有报道 我试图将它放在“InstallInitialize”之后的执行序列中,但这使我的脚本行为怪异(有些cmdlet工作,有些不工作) 然后我在“ExecuteAction”之后将它们移动到UI序列,这似乎工作正常,但我在某个地方读到,我不应该在UI序列中放入任何更改文件系统的脚本 什

我有一个installshield项目,我有几个powershell自定义操作。 这些脚本会更改文件系统(提取zip文件、复制文件、安装软件包等)。 我想知道在安装顺序中我应该把它们放在哪里

我看过行会,但他们没有报道

我试图将它放在“InstallInitialize”之后的执行序列中,但这使我的脚本行为怪异(有些cmdlet工作,有些不工作)

然后我在“ExecuteAction”之后将它们移动到UI序列,这似乎工作正常,但我在某个地方读到,我不应该在UI序列中放入任何更改文件系统的脚本

什么地方合适


感谢

更改系统的事件不应放在UI序列中,原因之一是没有任何东西可以阻止用户跳过UI序列


在执行序列期间,无法安装其他MSI包。有些安装程序可能看起来像.exe,但有一个捆绑的MSI。如果您的目标是处理安装先决条件,那么您可能需要使用InstallShield Suite/Advanced UI安装。具有管理多个安装先决条件的方法。我怀疑您遇到的问题是,您尝试安装的某些软件包中嵌入了MSI安装

谢谢你的回答,也许你对软件包的看法是对的,我会研究一下,但是我的一个ps脚本只解压缩了一个zip文件,而且当我在InstallInitialize之后插入它时,该脚本似乎也不起作用。。(但当我在执行后放置它时,它工作正常。对此有什么想法吗?因为您是Windows installer和InstallShield的新手,我不会在InstallInitialize和InstallFinalize之间添加任何自定义操作。这两个标准操作之间的操作可能会有不同的行为,这里太多了。如果您的自定义操作与安装到位的已安装文件上的ies在InstallFinalize之后将其放置。如果您的操作需要在文件放置到位之前运行,请在InstallInitialize之前将其放置。