App-V Вызов Exe в VMFS из-за переменной среды - PullRequest
0 голосов
/ 06 ноября 2018

У меня два вопроса относительно последней версии App-V, поставляемой с Windows 10. Я упорядочил приложение, имеющее следующую структуру:

  • Программные файлы \ OwnApp \ run.ps1
  • Программные файлы \ Firefox \ firefox.exe
  • Программные файлы \ java (какая-то старая версия)

Теперь мне нужно запустить Firefox через мое собственное приложение / скрипт, который связан с переменной среды. Но с помощью App-V переменные env указывают не на мои vmfs, а на мой локальный диск. Есть ли способ связать файл PowerShell с правильной версией Firefox в моем vmfs, но без жесткого кодирования?

    "${env:programfiles} (x86)$browser"

Кроме того, в моем файле PowerShell я создаю файл журнала в папке приложения. К сожалению, я получаю ошибку «Отказано в доступе», если я не изменил разрешение в папке с данными программы.

    Out-file : Access to the path 'C:\ProgramData\Microsoft\AppV\Client\Integration\AD721672-C59B-4FB4-9EBB-E23AD314A95D\Root\VFS\ProgramFilesX86\OwnApp\OwnApp.log' is denied.

Как я могу все еще написать файл без изменения разрешения вручную после установки? Разве это не одно из преимуществ AppV, что у пользователя есть разрешение на запись?

Заранее спасибо Stephan

1 Ответ

0 голосов
/ 07 марта 2019

В прошлом, если мне нужен был не виртуализированный путь к внутреннему местоположению, я выполнял команду Get-Package для чего-то подобного ниже. Это не идеально, но есть и худшие решения.

$Pkg = Get-AppvClientPackage Interlogix_TruVision_7.1_Prod
"$env:ProgramData\$($Pkg.PackageId)\$($Pkg.VersionId)\Root\Vfs"

Кроме того, похоже, что в вашем пакете не установлен флажок «Права записи VFS». Это самая распространенная причина неожиданного отказа в доступе.

...