App-V 5; 安装软件包后更改文件

我是一名销售专有软件解决scheme的公司的学生。 我的任务是在APP-V中testing他们的应用程序。 客户端应具有修改参数的可用性,并且应在安装软件包后在VFS中对其进行更改。

目前,我添加了以下脚本到我的V-APP包的脚本/部分; 这应该修改ProgramData \ OSG \ ShellPlus \ Config \

msgbox "test" replaceWith = WScript.Arguments(0) Set objShell = CreateObject( "WScript.Shell" ) appDataLocation=objShell.ExpandEnvironmentStrings("%PROGRAMDATA%") localSettings = appDataLocation & "\OSG\ShellPlus\Config\" & "LocalSetting.xml" Const ForReading = 1 Const ForWriting = 2 msgbox "test" x = msgbox(localSettings, 0, "localSettings") Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFile = objFSO.OpenTextFile(localSettings, ForReading) strText = objFile.ReadAll objFile.Close strNewText = Replace(strText, "OSG-021\SHELLPLUS", replaceWith) Set objFile = objFSO.OpenTextFile(localSettings, ForWriting) objFile.Write strNewText objFile.Close 

我把这个添加到_DeploymentConfig;

  <UserScripts> <StartProcess RunInVirtualEnvironment="true"> <Path>.\Scripts\writeConfig.vbs</Path> <Arguments>TEST</Arguments> <Wait RollbackOnError="true"/> <ApplicationId>[{AppVPackageRoot}]\..\Scripts\writeConfig.vbs</ApplicationId> </StartProcess> 

现在我试着直接运行.msi,但脚本永远不会执行。 有任何想法吗? 我没有想法

感觉就像跳过了“应该”工作的几个步骤,但在某处丢失了某些东西。 你怎么确定.MSI正在使用.XML? 就我个人而言,我会试用PoSH命令来添加包和发布 – 至less他们会报告错误。

这里的根本原因是:

  1. 该UserScripts不能通过DynamicDeploymentConfiguration使用。 请参阅http://blogs.technet.com/b/appv/archive/2012/12/10/scripting-and-embedded-scripting-for-appv-5-0-dynamic-deployment-and-user-configuration-scripting&#x7684;.aspx

有几件事情在这里显得有些“偏离”:

  1. 另外,你的ApplicationID不应该是App-V中的“应用程序” – 这里有一个循环引用(不应该是这样的),ApplicationId应该是'notepad.exe'或者别的什么。
    提示:提供ScriptEngine可能也有帮助 – 至less你会看到发生在procmon中的事情发生后,并尝试启动…

  2. 请注意,使这些脚本触发也有一些时间问题,您可能需要您的主要快捷方式指向.VBS,然后.VBS相应地启动.exe。 即使你得到它(发布每用户而不是DynamicDeploymentConfig会这样做) – 我不认为App-V将等待您的.VBS完成之前启动真正的ApplicationId – 假设我已经拿起了一些东西与点2。

您的客户机中是否启用脚本?

如果不尝试运行下面的Power shell命令,

Set-AppvClientConfiguration -EnablePackageScripts $ true

在我们的环境中我们有同样的问题。 脚本不在包内运行。 我们的Microsoft Consultantbuild议我们避免使用脚本function。