从WinRAR SFX可执行文件

时间:2016-08-09 12:20:56

标签: windows powershell batch-file winrar sfx

我有很多我一直在研究的powershell模块,我的任务是将它们作为单个可执行文件分发。我制作了一个批处理脚本来运行我的PowerShell,我使用该批处理脚本作为WinRAR SFX可执行文件的目标。

问题是,当我通过批处理文件运行脚本时,一切正常,但是当我运行时,我通过可执行文件运行它,脚本有错误。这些错误不是“失败”错误,而是我自己的PowerShell脚本抛出的异常。我的powershell代码在批量运行或通过WinRAR SFX运行时运行方式不同。有没有人经历过这个并知道如何解决它?

如果你想了解更多关于我的powershell正在抛出的错误类型的信息,在我的脚本中,我正在对注册表的一小部分进行广度优先搜索。当我使用批处理脚本包装器运行它时,它运行在~30秒内没有错误。当我使用WinRAR SFX可执行文件运行它时,它会抛出此错误:

Cannot convert argument "index" with value "CLSID", for "GetValue" to 
type "System.Int64": Cannot convert value "CLSI" to type "System.Int64".
Error: "Input string was not in a correct format.""At 
C:\Users\Administrator\AppData\Local\Temp\RarSFX0\myscript.ps1:270 
char:33
+                         elseif ($key.getValue("CLSID") -new $null {
+ 
    + CategoryInfo           : NotSpecified:  (:) [], MethodException
    + FullyQualifiedErrorId  : MethodArgumentCovnersionInvalidCastArgument

在检查我正在检查的所有对象的类型之后,在某些时候,我的注册表项对象变成WinRAR版本中的注册表项对象数组,但不是批处理版本。有什么想法吗?

0 个答案:

没有答案