5

Я создал новый образ Windows 7 SP1. С этим все в порядке.

Итак, я сейчас устанавливаю стандартные приложения

Я бы хотел, чтобы Quicktime управлял файлами .mov. Единственная проблема в том, что WMP (Windows Media Player) не откажется от ассоциации с файлами .mov.

Это сводит меня с ума ... Я читал темы о том, как исправить ассоциации файлов.

Я хотел бы сделать это через реестр, powershell или cmdline. Я не могу использовать GPO

Я пробовал следующее:

assoc .mov=QuickTime.mov
ftype QuickTime.mov="%ProgramFiles(x86)\QuickTime\QuickTimePlayer.exe"

Reg add HKCU\Software\Microsoft\windows\CurrentVersion\Explorere\FileExts\.mov\UserChoice" /v Progid /d QuickTime.mov /f

Reg add HKCU\Software\Microsoft\windows\CurrentVersion\Explorere\FileExts\.mov\OpenWithList" /v a /d QuickTimePlayer.exe /f

Reg add "HKCU\Software\Microsoft\windows\CurrentVersion\Explorere\FileExts\.mov\OpenWithList" /v b /d wmplayer.exe /f

Reg add HKCU\Software\Microsoft\windows\CurrentVersion\Explorere\FileExts\.mov\OpenWithList" /v MRUList /d ab /f

Reg add HKCU\Software\Microsoft\windows\CurrentVersion\Explorere\FileExts\.mov\OpenWithProgids" /v Quicktime.mov /t REG_NONE /d 0000 /f

Reg add HKCU\Software\Microsoft\windows\CurrentVersion\Explorere\FileExts\.mov\OpenWithProgids" /v WMP11.AssocFile.MOV /t REG_NONE /d 0000 /f

2 ответа2

0

Во-первых, команда "assoc" изменяет общую ассоциацию типа файла в HKEY_CLASSES_ROOT. Если вы проверите запись в regedit, я ожидаю, что вы увидите, что вы можете успешно изменить ее. Это не поможет, если в подразделе UserChoice уже заданы пользовательские настройки, поскольку они имеют приоритет. Я подозреваю, что вы уже знаете это, и именно поэтому вы пытаетесь изменить другие ключи реестра напрямую.

Следующим пунктом, который я заметил, была ошибка в пути к ключу. Вы используете "Исследовать" вместо "Проводник". Это, вероятно, означает, что вы не получаете сообщение об ошибке при попытке изменить ключ. Если вы создаете новый неиспользуемый ключ, это не повлияет на поведение файла.

Затем вы, похоже, спрашивали о том, как изменить ключ, но, похоже, не беспокоились о методе (если он написан на скрипте), поэтому я просто попробовал один: powershell. Исключение безопасности возникает каждый раз, когда я пытаюсь написать UserChoice, но не для других ключей. Проблема заключается в правах доступа для этого конкретного раздела реестра. Когда я прочитал acl в powershell, я увидел, что правило доступа к реестру для моей учетной записи имеет "SetValue" как "Запретить".

На следующей странице приведено отличное описание того, как обойти эту проблему и удалить необходимые разрешения. Вот результирующий скрипт, который работал для меня на моем ПК с Win7. Я проверил, используя файл .mov; скрипт успешно изменил программу, которая была вызвана при двойном щелчке файла.

$user=<your user account name>
$name = "Software\Microsoft\windows\CurrentVersion\Explorer\FileExts\.mov\UserChoice"
$RegKey ="HKCU:\" + $name
Get-ItemProperty -path $RegKey
get-acl -path $RegKey
$key = [Microsoft.Win32.Registry]::CurrentUser.OpenSubKey($name, [Microsoft.Win32.RegistryKeyPermissionCheck]::ReadWriteSubTree,
[System.Security.AccessControl.RegistryRights]::ChangePermissions) 
$acl = $key.GetAccessControl()
$rule=new-object System.Security.AccessControl.RegistryAccessRule ($user, 'SetValue', 'Deny')
$acl.RemoveAccessRule($rule)
$key.SetAccessControl($acl)
get-acl -path $RegKey
Set-ItemProperty -path $RegKey -name Progid -value 'WMP11.AssocFile.MOV' -type String
Get-ItemProperty -path $RegKey

Если есть какие-либо дальнейшие ошибки, то я предлагаю вам сравнить разрешения ACL. Скрипт распечатывает acl до и после, а также текущее содержимое ключа.

Примечания 1. Отображаемый значок может не обновляться. Дважды щелкните файл .mov для проверки. 2. Если есть проблемы, попробуйте убедиться, что вы можете изменить значение вручную и увидеть эквивалентное изменение в regedit.

Обновление: я предполагал, что вы хотите сохранить пользовательские настройки, но прочитав ваше описание во второй раз, я понял, что вы не указали это. Если вы хотите изменить связь для всех пользователей, вам придется полностью удалить ключ UserChoice с помощью относительно простой команды, подобной этой. Тогда ваша команда "Assoc" должна сделать свое дело.

0

Попробуйте редактор программ по умолчанию. Зайдите в настройки типа файла, выберите .mov files, затем измените элемент Open на Quicktime.

Затем вы можете сохранить изменения в виде файла .reg для проверки / применения / сохранения / развертывания.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .