Фильтр NSIS SelectFileDialog не применяется - PullRequest
0 голосов
/ 22 апреля 2020

Я использовал следующую строку в скрипте NSIS:

nsDialogs :: SelectFileDialog open "C: \ temp.rar" "* .rar"

Когда я запускаю результирующий установщик (в Windows 10), диалоговое окно файла открывается на C: как положено, temp.rar отображается в поле Имя файла, и *. rar отображается в раскрывающемся списке фильтров. Однако фильтр не применяется к списку файлов . То есть все типы файлов по-прежнему видны, несмотря на то, что *. rar является единственной записью в раскрывающемся списке фильтров.

Кто-нибудь знает, что может быть причиной этого или как это исправить?

1 Ответ

0 голосов
/ 23 апреля 2020

К сожалению, в документации нет ясности, но в ней используется тот же формат, что и в Windows *; фильтр представляет собой список пар; отображаемая строка и фильтр DOS:

nsDialogs::SelectFileDialog open "C:\temp.rar" "*.rar|*.rar"
Pop $0
nsDialogs::SelectFileDialog open "C:\temp.rar" ".rar files|*.rar|All Files|*.*"
Pop $0

Имейте в виду, что фильтр предназначен только для того, чтобы помочь пользователю, но пользователь может ввести любое имя файла по своему усмотрению, даже если оно не соответствует активному фильтру.

...