Я работаю студентом в компании, которая продает проприетарное программное обеспечение. Моя задача - протестировать их приложение в APP-V. У клиента должна быть возможность изменить параметр, и это следует изменить в VFS после установки пакета.
В настоящее время я добавил следующий сценарий в раздел scripts / моего пакета V-APP; Это должно изменить что-то в LocalSetting.xml в 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 для добавления пакета и публикации - по крайней мере, они будут сообщать об ошибках.
Основная причина здесь:
Несколько вещей здесь кажутся немного неуместными:
Кроме того, не должен ли ваш ApplicationID быть «приложением» в App-V - здесь есть круговая ссылка (где не должно быть), ApplicationId должен быть «notepad.exe» или что-то еще.
Подсказка: предоставление ScriptEngine также может помочь - по крайней мере, вы увидите, что что-то происходит в procmon после того, как вы его опубликуете и попытаетесь запустить ...
Обратите внимание, что запуск этих скриптов также имеет некоторые проблемы с синхронизацией, вам может потребоваться ваш основной ярлык, чтобы указать на .VBS, а затем .VBS запустит .exe соответственно. Даже когда вы его начнете (публикация для каждого пользователя вместо DynamicDeploymentConfig сделает это) - я не думаю, что App-V будет ждать завершения вашего .VBS ДО запуска реального ApplicationId - если я что-то нашел с пунктом 2.
Включены ли сценарии на вашем клиентском компьютере?
Если нет, попробуйте выполнить приведенную ниже команду Power shell,
Set-AppvClientConfiguration -EnablePackageScripts $ true
У нас такая же проблема в нашей среде; Скрипты не запускаются изнутри пакета. Наш консультант Microsoft посоветовал нам избегать использования скриптовых функций.