0

我有几个步骤来解决这个问题,我不知道还能做什么。我的最终目标是检查我的“app.exe”文件版本。当我在服务器上手动运行它时,两个脚本版本都可以工作。但是当 Octopus 运行时,两个版本都失败并出现不同的错误

版本 1:

  $file = "C:\Octopus\Applications\AppStartUp\38.2.19.0\app.exe"
  $fileVersion = [System.Diagnostics.FileVersionInfo]::GetVersionInfo($file).FileVersion

我得到错误:

return [System.Diagnostics.FileVersionInfo]::GetVersionInfo <<<< ($file).    FileVersion
    + CategoryInfo          : NotSpecified: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : DotNetMethodException

版本 2:

$file = "C:\Octopus\Applications\AppStartUp\38.2.19.0\app.exe"
(Get-Command "$file").FileVersionInfo.Fileversion

错误信息

Export-ModuleMember : The Export-ModuleMember cmdlet can only be called from in side a module. At C:\Octopus\Applications\CSIS_DEV\ESG.CSIS.StartUp\38.2.19.0\deployment\clickOnceLib.ps1:35 char:20
    + Export-ModuleMember <<<<  -function * -alias *
    + CategoryInfo          : PermissionDenied: (:) [Export-ModuleMember], InvalidOperationException
    + FullyQualifiedErrorId : Modules_CanOnlyExecuteExportModuleMemberInsideAModule,Microsoft.PowerShell.Commands.ExportModuleMemberCommand 
Get-Command : The term 'C:\Octopus\Applications\CSIS_DEV\ESG.CSIS.StartUp\38.2.19.0\ESG.CSIS.StartUp.exe' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
    At C:\Octopus\Applications\CSIS_DEV\ESG.CSIS.StartUp\38.2.19.0\deployment\clickOnceLib.ps1:32 char:24
    +     return (Get-Command <<<<  "$file").FileVersionInfo.Fileversion
    + CategoryInfo          : ObjectNotFound: (C:\Octopus\Appl...SIS.StartUp.exe:String) [Get-Command], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException,Microsoft.PowerShell.Commands.GetCommandCommand

这些消息的任何 Insite 以及为什么仅在章鱼中运行时才会发生这种情况会很棒。

4

1 回答 1

0

看起来您的脚本无法访问该文件,或者它不存在。检查以确保C:\Octopus\Applications\CSIS_DEV\ESG.CSIS.StartUp\38.2.19.0\ESG.CSIS.StartUp.exe触手在其下运行的用户存在并且可以访问(使用 Windows 有效权限)。

还要确保在脚本运行时它就在那里,你没有提到这是否是一个单独的步骤,PreDeploy.ps1、Deploy.ps1 或 PostDeploy.ps1 脚本

于 2014-03-20T22:27:06.093 回答