Назад | Перейти на главную страницу

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 напрямую, но скрипт не запускается. Любые идеи? У меня нет идей ..

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

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

  1. что пользовательские скрипты нельзя использовать через 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 посоветовал нам избегать использования скриптовых функций.