
Я создал новый базовый образ 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
решение1
Во-первых, команда "assoc" изменяет общую ассоциацию типа файла в HKEY_CLASSES_ROOT. Если вы проверите запись в regedit, я ожидаю, что вы увидите, что можете успешно ее изменить. Это не поможет вам, если в подразделе UserChoice уже заданы пользовательские настройки, поскольку они имеют приоритет. Я подозреваю, что вы уже это знаете, и именно поэтому вы пытаетесь изменить другие разделы реестра напрямую.
Следующим пунктом, который я заметил, была ошибка в пути к ключу. Вы используете "Explorere" вместо "Explorer". Это, вероятно, означает, что вы не получаете сообщение об ошибке при попытке изменить ключ. Если вы создаете новый неиспользуемый ключ, то это не повлияет на поведение файла.
Далее, вы, похоже, спрашивали о том, как изменить ключ, но, похоже, не беспокоились о методе (если он написан скриптом), поэтому я просто попробовал один: powershell. Исключение безопасности возникает каждый раз, когда я пытаюсь написать UserChoice, но не для других ключей. Проблема, похоже, заключается в правах доступа для этого конкретного ключа реестра. Когда я считывал acl в powershell, я мог видеть, что правило доступа к реестру для моей учетной записи имело "SetValue" как "Deny".
Следующеестраницадает превосходное описание того, как обойти эту проблему и удалить требуемые разрешения. Вот полученный скрипт, который сработал у меня на моем ПК с 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" должна сработать.
решение2
ПытатьсяРедактор программ по умолчанию. Перейдите в настройки типа файла, выберите .mov
файлы, затем измените Open
элемент на Quicktime.
Затем вы можете сохранить изменения как .reg-файл для проверки/применения/сохранения/развертывания.