App-V 5; изменить файл после установки пакета

Я работаю студентом в компании, которая продает проприетарное программное решение. Моя задача - проверить их применение в 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-файл напрямую, но сценарий никогда не выполняется. Есть идеи? У меня нет идей..

3 ответа

Такое ощущение, что вы сделали несколько шагов, которые "должны" сработать, но где-то чего-то не хватает. Как вы уверены, что.MSI потребляет.XML? Лично я бы поэкспериментировал с командами PoSH для добавления пакета и публикации - по крайней мере, они сообщат об ошибках.

Основная причина здесь:

  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.aspx

Несколько вещей здесь выглядят немного "выключенными":

  1. Кроме того, если ваш ApplicationID не является "приложением" в App-V - здесь есть круговая ссылка (там, где его не должно быть), ApplicationId должен быть "notepad.exe" или что-то еще.
    Подсказка: предоставление ScriptEngine также может помочь - по крайней мере, вы увидите, что что-то происходит в procmon после того, как вы опубликовали это и попытались запустить...

  2. Обратите внимание, что при запуске этих сценариев также возникают некоторые проблемы с синхронизацией, вам может потребоваться, чтобы ваш основной ярлык указывал на.VBS, а затем.VBS соответственно запускает.exe. Даже когда у вас все получается (публикация для пользователя вместо DynamicDeploymentConfig сделает это) - я не думаю, что App-V будет ждать, пока ваша.VBS завершит ДО запуска реального ApplicationId - при условии, что я что-то подобрал с пунктом 2.

Включены ли сценарии на вашем клиентском компьютере?

Если нет, попробуйте выполнить приведенную ниже команду Power shell,

Set-AppvClientConfiguration -EnablePackageScripts $ true

У нас та же проблема в нашей среде; Скрипты не запускаются изнутри пакета. Наш консультант Microsoft посоветовал нам не использовать функцию сценариев.

Другие вопросы по тегам