我是一名销售专有软件解决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他们会报告错误。
这里的根本原因是:
有几件事情在这里显得有些“偏离”:
另外,你的ApplicationID不应该是App-V中的“应用程序” – 这里有一个循环引用(不应该是这样的),ApplicationId应该是'notepad.exe'或者别的什么。
提示:提供ScriptEngine可能也有帮助 – 至less你会看到发生在procmon中的事情发生后,并尝试启动…
请注意,使这些脚本触发也有一些时间问题,您可能需要您的主要快捷方式指向.VBS,然后.VBS相应地启动.exe。 即使你得到它(发布每用户而不是DynamicDeploymentConfig会这样做) – 我不认为App-V将等待您的.VBS完成之前启动真正的ApplicationId – 假设我已经拿起了一些东西与点2。
您的客户机中是否启用脚本?
如果不尝试运行下面的Power shell命令,
Set-AppvClientConfiguration -EnablePackageScripts $ true
在我们的环境中我们有同样的问题。 脚本不在包内运行。 我们的Microsoft Consultantbuild议我们避免使用脚本function。