From 85b4d92831d31c639a99272dc6cb166c29d12f22 Mon Sep 17 00:00:00 2001
From: Alexandre Julliard <julliard@winehq.org>
Date: Thu, 13 Jan 2011 12:20:14 +0100
Subject: [PATCH] appwiz.cpl: Build the file filter by hand instead of
 hardcoding it in resource strings.

---
 dlls/appwiz.cpl/Da.rc    |  4 +++-
 dlls/appwiz.cpl/De.rc    |  4 +++-
 dlls/appwiz.cpl/En.rc    |  4 +++-
 dlls/appwiz.cpl/Es.rc    |  4 +++-
 dlls/appwiz.cpl/Fr.rc    |  4 +++-
 dlls/appwiz.cpl/He.rc    |  4 +++-
 dlls/appwiz.cpl/Hu.rc    |  4 +++-
 dlls/appwiz.cpl/It.rc    |  4 +++-
 dlls/appwiz.cpl/Ja.rc    |  4 +++-
 dlls/appwiz.cpl/Ko.rc    |  4 +++-
 dlls/appwiz.cpl/Lt.rc    |  4 +++-
 dlls/appwiz.cpl/Nl.rc    |  4 +++-
 dlls/appwiz.cpl/No.rc    |  4 +++-
 dlls/appwiz.cpl/Pl.rc    |  4 +++-
 dlls/appwiz.cpl/Pt.rc    |  8 ++++++--
 dlls/appwiz.cpl/Ro.rc    |  4 +++-
 dlls/appwiz.cpl/Ru.rc    |  4 +++-
 dlls/appwiz.cpl/Si.rc    |  4 +++-
 dlls/appwiz.cpl/Sr.rc    |  8 ++++++--
 dlls/appwiz.cpl/Sv.rc    |  4 +++-
 dlls/appwiz.cpl/Uk.rc    |  4 +++-
 dlls/appwiz.cpl/Zh.rc    |  8 ++++++--
 dlls/appwiz.cpl/appwiz.c | 13 +++++++++++--
 dlls/appwiz.cpl/res.h    | 14 ++++++++------
 24 files changed, 94 insertions(+), 33 deletions(-)

diff --git a/dlls/appwiz.cpl/Da.rc b/dlls/appwiz.cpl/Da.rc
index a2513dbb8a1..06a429191e0 100644
--- a/dlls/appwiz.cpl/Da.rc
+++ b/dlls/appwiz.cpl/Da.rc
@@ -41,7 +41,9 @@ STRINGTABLE
    IDS_COLUMN_NAME,      "Navn"
    IDS_COLUMN_PUBLISHER, "Udgiver"
    IDS_COLUMN_VERSION,   "Version"
-   IDS_INSTALL_FILTER,   "Installations Programmer\\0*instal*.exe;*setup*.exe;*.msi\\0Programmer (*.exe)\\0*.exe\\0Alle Filer (*.*)\\0*.*\\0\\0"
+   IDS_FILTER_INSTALLS,  "Installations Programmer"
+   IDS_FILTER_PROGRAMS,  "Programmer (*.exe)"
+   IDS_FILTER_ALL,       "Alle Filer (*.*)"
 
    IDS_REMOVE,           "&Fjern..."
    IDS_MODIFY_REMOVE,    "&Rediger/Fjern..."
diff --git a/dlls/appwiz.cpl/De.rc b/dlls/appwiz.cpl/De.rc
index cdf2fcffde5..474b382e824 100644
--- a/dlls/appwiz.cpl/De.rc
+++ b/dlls/appwiz.cpl/De.rc
@@ -38,7 +38,9 @@ STRINGTABLE
    IDS_COLUMN_NAME, "Name"
    IDS_COLUMN_PUBLISHER, "Herausgeber"
    IDS_COLUMN_VERSION, "Version"
-   IDS_INSTALL_FILTER, "Setup-Programme\0*instal*.exe;*setup*.exe;*.msi\0Programme (*.exe)\0*.exe\0Alle Dateien (*.*)\0*.*\0\0"
+   IDS_FILTER_INSTALLS, "Setup-Programme"
+   IDS_FILTER_PROGRAMS, "Programme (*.exe)"
+   IDS_FILTER_ALL,      "Alle Dateien (*.*)"
 
    IDS_REMOVE, "&Entfernen..."
    IDS_MODIFY_REMOVE, "Än&dern/Entfernen..."
diff --git a/dlls/appwiz.cpl/En.rc b/dlls/appwiz.cpl/En.rc
index 0c5cf761abc..d1fef50110d 100644
--- a/dlls/appwiz.cpl/En.rc
+++ b/dlls/appwiz.cpl/En.rc
@@ -36,7 +36,9 @@ STRINGTABLE
    IDS_COLUMN_NAME, "Name"
    IDS_COLUMN_PUBLISHER, "Publisher"
    IDS_COLUMN_VERSION, "Version"
-   IDS_INSTALL_FILTER, "Installation Programs\0*instal*.exe;*setup*.exe;*.msi\0Programs (*.exe)\0*.exe\0All Files (*.*)\0*.*\0\0"
+   IDS_FILTER_INSTALLS, "Installation programs"
+   IDS_FILTER_PROGRAMS, "Programs (*.exe)"
+   IDS_FILTER_ALL,      "All files (*.*)"
 
    IDS_REMOVE, "&Remove..."
    IDS_MODIFY_REMOVE, "&Modify/Remove..."
diff --git a/dlls/appwiz.cpl/Es.rc b/dlls/appwiz.cpl/Es.rc
index 1eca07b6466..0b2d3645f20 100644
--- a/dlls/appwiz.cpl/Es.rc
+++ b/dlls/appwiz.cpl/Es.rc
@@ -37,7 +37,9 @@ STRINGTABLE
    IDS_COLUMN_NAME, "Nombre"
    IDS_COLUMN_PUBLISHER, "Editor"
    IDS_COLUMN_VERSION, "Versión"
-   IDS_INSTALL_FILTER, "Programas de instalación\0*instal*.exe;*setup*.exe;*.msi\0Programas (*.exe)\0*.exe\0Todos los archivos (*.*)\0*.*\0\0"
+   IDS_FILTER_INSTALLS, "Programas de instalación"
+   IDS_FILTER_PROGRAMS, "Programas (*.exe)"
+   IDS_FILTER_ALL,      "Todos los archivos (*.*)"
 
    IDS_REMOVE, "&Quitar..."
    IDS_MODIFY_REMOVE, "&Modificar/Quitar..."
diff --git a/dlls/appwiz.cpl/Fr.rc b/dlls/appwiz.cpl/Fr.rc
index eb997c9a2f2..00146ff72ad 100644
--- a/dlls/appwiz.cpl/Fr.rc
+++ b/dlls/appwiz.cpl/Fr.rc
@@ -40,7 +40,9 @@ STRINGTABLE
    IDS_COLUMN_NAME, "Nom"
    IDS_COLUMN_PUBLISHER, "Éditeur"
    IDS_COLUMN_VERSION, "Version"
-   IDS_INSTALL_FILTER, "Programmes d'installation\0*instal*.exe;*setup*.exe;*.msi\0Programmes (*.exe)\0*.exe\0Tous les fichiers (*.*)\0*.*\0\0"
+   IDS_FILTER_INSTALLS, "Programmes d'installation"
+   IDS_FILTER_PROGRAMS, "Programmes (*.exe)"
+   IDS_FILTER_ALL,      "Tous les fichiers (*.*)"
 
    IDS_REMOVE, "&Supprimer..."
    IDS_MODIFY_REMOVE, "&Modifier/Supprimer..."
diff --git a/dlls/appwiz.cpl/He.rc b/dlls/appwiz.cpl/He.rc
index 77b6995a512..03abe19ad98 100644
--- a/dlls/appwiz.cpl/He.rc
+++ b/dlls/appwiz.cpl/He.rc
@@ -38,7 +38,9 @@ STRINGTABLE
    IDS_COLUMN_NAME, "שם"
    IDS_COLUMN_PUBLISHER, "מפיץ"
    IDS_COLUMN_VERSION, "גרסה"
-   IDS_INSTALL_FILTER, "תכניות התקנה\0*instal*.exe;*setup*.exe;*.msi\0תכניות (*.exe)\0*.exe\0כל הקבצים (*.*)\0*.*\0\0"
+   IDS_FILTER_INSTALLS, "תכניות התקנה"
+   IDS_FILTER_PROGRAMS, "תכניות (*.exe)"
+   IDS_FILTER_ALL,      "כל הקבצים (*.*)"
 
    IDS_REMOVE, "ה&סרה..."
    IDS_MODIFY_REMOVE, "&שינוי/הסרה..."
diff --git a/dlls/appwiz.cpl/Hu.rc b/dlls/appwiz.cpl/Hu.rc
index d39b0479c26..a2a1addef19 100644
--- a/dlls/appwiz.cpl/Hu.rc
+++ b/dlls/appwiz.cpl/Hu.rc
@@ -38,7 +38,9 @@ STRINGTABLE
    IDS_COLUMN_NAME, "Név"
    IDS_COLUMN_PUBLISHER, "Kiadó"
    IDS_COLUMN_VERSION, "Verzió"
-   IDS_INSTALL_FILTER, "Telepítõ programok\0*instal*.exe;*setup*.exe;*.msi\0Programok (*.exe)\0*.exe\0Minden fájl (*.*)\0*.*\0\0"
+   IDS_FILTER_INSTALLS, "Telepítõ programok"
+   IDS_FILTER_PROGRAMS, "Programok (*.exe)"
+   IDS_FILTER_ALL,      "Minden fájl (*.*)"
 
    IDS_REMOVE, "&Eltávolítás..."
    IDS_MODIFY_REMOVE, "&Módosítás/Eltávolítás..."
diff --git a/dlls/appwiz.cpl/It.rc b/dlls/appwiz.cpl/It.rc
index c9cbdd5dcc7..6890dfe2402 100644
--- a/dlls/appwiz.cpl/It.rc
+++ b/dlls/appwiz.cpl/It.rc
@@ -38,7 +38,9 @@ STRINGTABLE
    IDS_COLUMN_NAME, "Nome"
    IDS_COLUMN_PUBLISHER, "Editore"
    IDS_COLUMN_VERSION, "Versione"
-   IDS_INSTALL_FILTER, "Programmi d'installazione\0*instal*.exe;*setup*.exe;*.msi\0Programmi (*.exe)\0*.exe\0Tutti i file (*.*)\0*.*\0\0"
+   IDS_FILTER_INSTALLS, "Programmi d'installazione"
+   IDS_FILTER_PROGRAMS, "Programmi (*.exe)"
+   IDS_FILTER_ALL,      "Tutti i file (*.*)"
 
    IDS_REMOVE, "&Rimuovi..."
    IDS_MODIFY_REMOVE, "&Modifica/Rimuovi..."
diff --git a/dlls/appwiz.cpl/Ja.rc b/dlls/appwiz.cpl/Ja.rc
index aa4a49e4113..d4d1e0c6eb1 100644
--- a/dlls/appwiz.cpl/Ja.rc
+++ b/dlls/appwiz.cpl/Ja.rc
@@ -38,7 +38,9 @@ STRINGTABLE
    IDS_COLUMN_NAME, "名前"
    IDS_COLUMN_PUBLISHER, "発行元"
    IDS_COLUMN_VERSION, "バージョン"
-   IDS_INSTALL_FILTER, "インストールプログラム\0*instal*.exe;*setup*.exe;*.msi\0プログラム(*.exe)\0*.exe\0すべてのファイル (*.*)\0*.*\0\0"
+   IDS_FILTER_INSTALLS, "インストールプログラム"
+   IDS_FILTER_PROGRAMS, "プログラム(*.exe)"
+   IDS_FILTER_ALL,      "すべてのファイル (*.*)"
 
    IDS_REMOVE, "削除(&R)..."
    IDS_MODIFY_REMOVE, "変更と削除(&M)..."
diff --git a/dlls/appwiz.cpl/Ko.rc b/dlls/appwiz.cpl/Ko.rc
index e4b940b1aec..0451fbcaeba 100644
--- a/dlls/appwiz.cpl/Ko.rc
+++ b/dlls/appwiz.cpl/Ko.rc
@@ -37,7 +37,9 @@ STRINGTABLE
    IDS_COLUMN_NAME, "이름"
    IDS_COLUMN_PUBLISHER, "제작사"
    IDS_COLUMN_VERSION, "버젼"
-   IDS_INSTALL_FILTER, "설치 프로그램0*instal*.exe;*setup*.exe;*.msi\0프로그램 (*.exe)\0*.exe\0모든 파일들 (*.*)\0*.*\0\0"
+   IDS_FILTER_INSTALLS, "설치 프로그램"
+   IDS_FILTER_PROGRAMS, "프로그램 (*.exe)"
+   IDS_FILTER_ALL,      "모든 파일들 (*.*)"
 
    IDS_REMOVE, "제거(&R)..."
    IDS_MODIFY_REMOVE, "고치기(&M)/제거..."
diff --git a/dlls/appwiz.cpl/Lt.rc b/dlls/appwiz.cpl/Lt.rc
index 813c79a5c9e..0a291288693 100644
--- a/dlls/appwiz.cpl/Lt.rc
+++ b/dlls/appwiz.cpl/Lt.rc
@@ -38,7 +38,9 @@ STRINGTABLE
    IDS_COLUMN_NAME, "Vardas"
    IDS_COLUMN_PUBLISHER, "LeidÄ—jas"
    IDS_COLUMN_VERSION, "Versija"
-   IDS_INSTALL_FILTER, "Diegimo programos\0*instal*.exe;*setup*.exe;*.msi\0Programos (*.exe)\0*.exe\0Visi failai (*.*)\0*.*\0\0"
+   IDS_FILTER_INSTALLS, "Diegimo programos"
+   IDS_FILTER_PROGRAMS, "Programos (*.exe)"
+   IDS_FILTER_ALL,      "Visi failai (*.*)"
 
    IDS_REMOVE, "Pa&Å¡alinti..."
    IDS_MODIFY_REMOVE, "Pa&keisti/pašalinti..."
diff --git a/dlls/appwiz.cpl/Nl.rc b/dlls/appwiz.cpl/Nl.rc
index 9c337dd4759..8689c5d82d1 100644
--- a/dlls/appwiz.cpl/Nl.rc
+++ b/dlls/appwiz.cpl/Nl.rc
@@ -38,7 +38,9 @@ STRINGTABLE
    IDS_COLUMN_NAME, "Naam"
    IDS_COLUMN_PUBLISHER, "Uitgever"
    IDS_COLUMN_VERSION, "Versie"
-   IDS_INSTALL_FILTER, "Installatie-programma's\0*instal*.exe;*setup*.exe;*.msi\0Programma's (*.exe)\0*.exe\0Alle bestanden (*.*)\0*.*\0\0"
+   IDS_FILTER_INSTALLS, "Installatie-programma's"
+   IDS_FILTER_PROGRAMS, "Programma's (*.exe)"
+   IDS_FILTER_ALL,      "Alle bestanden (*.*)"
 
    IDS_REMOVE, "&Verwijderen..."
    IDS_MODIFY_REMOVE, "&Wijzigen/Verwijderen..."
diff --git a/dlls/appwiz.cpl/No.rc b/dlls/appwiz.cpl/No.rc
index 3285a2b2fe1..1fe7eccaffe 100644
--- a/dlls/appwiz.cpl/No.rc
+++ b/dlls/appwiz.cpl/No.rc
@@ -38,7 +38,9 @@ STRINGTABLE
    IDS_COLUMN_NAME, "Navn"
    IDS_COLUMN_PUBLISHER, "Utgiver"
    IDS_COLUMN_VERSION, "Versjon"
-   IDS_INSTALL_FILTER, "Installasjonsprogrammer\0*instal*.exe;*setup*.exe;*.msi\0Programmer (*.exe)\0*.exe\0Alle filer (*.*)\0*.*\0\0"
+   IDS_FILTER_INSTALLS, "Installasjonsprogrammer"
+   IDS_FILTER_PROGRAMS, "Programmer (*.exe)"
+   IDS_FILTER_ALL,      "Alle filer (*.*)"
 
    IDS_REMOVE, "Fje&rn..."
    IDS_MODIFY_REMOVE, "&Endre/Fjern..."
diff --git a/dlls/appwiz.cpl/Pl.rc b/dlls/appwiz.cpl/Pl.rc
index a8ba3d00486..ba4601673e8 100644
--- a/dlls/appwiz.cpl/Pl.rc
+++ b/dlls/appwiz.cpl/Pl.rc
@@ -36,7 +36,9 @@ STRINGTABLE
    IDS_COLUMN_NAME, "Nazwa"
    IDS_COLUMN_PUBLISHER, "Wydawca"
    IDS_COLUMN_VERSION, "Wersja"
-   IDS_INSTALL_FILTER, "Programy instalacyjne\0*instal*.exe;*setup*.exe;*.msi\0Programy (*.exe)\0*.exe\0Wszystkie pliki (*.*)\0*.*\0\0"
+   IDS_FILTER_INSTALLS, "Programy instalacyjne"
+   IDS_FILTER_PROGRAMS, "Programy (*.exe)"
+   IDS_FILTER_ALL,      "Wszystkie pliki (*.*)"
 
    IDS_REMOVE, "&Usuñ..."
    IDS_MODIFY_REMOVE, "&Zmieñ/Usuñ..."
diff --git a/dlls/appwiz.cpl/Pt.rc b/dlls/appwiz.cpl/Pt.rc
index 8167bb6be9e..d242be6e7d9 100644
--- a/dlls/appwiz.cpl/Pt.rc
+++ b/dlls/appwiz.cpl/Pt.rc
@@ -38,7 +38,9 @@ STRINGTABLE
    IDS_COLUMN_NAME, "Nome"
    IDS_COLUMN_PUBLISHER, "Editor"
    IDS_COLUMN_VERSION, "Versão"
-   IDS_INSTALL_FILTER, "Programas de Instalação\0*instal*.exe;*setup*.exe;*.msi\0Programas (*.exe)\0*.exe\0Todos os arquivos (*.*)\0*.*\0\0"
+   IDS_FILTER_INSTALLS, "Programas de Instalação"
+   IDS_FILTER_PROGRAMS, "Programas (*.exe)"
+   IDS_FILTER_ALL,      "Todos os arquivos (*.*)"
 
    IDS_REMOVE, "&Remover..."
    IDS_MODIFY_REMOVE, "&Modificar/Remover..."
@@ -64,7 +66,9 @@ STRINGTABLE
    IDS_COLUMN_NAME, "Nome"
    IDS_COLUMN_PUBLISHER, "Editor"
    IDS_COLUMN_VERSION, "Versão"
-   IDS_INSTALL_FILTER, "Programas de Instalação\0*instal*.exe;*setup*.exe;*.msi\0Programas (*.exe)\0*.exe\0Todos os ficheiros (*.*)\0*.*\0\0"
+   IDS_FILTER_INSTALLS, "Programas de Instalação"
+   IDS_FILTER_PROGRAMS, "Programas (*.exe)"
+   IDS_FILTER_ALL,      "Todos os ficheiros (*.*)"
 
    IDS_REMOVE, "&Remover..."
    IDS_MODIFY_REMOVE, "&Modificar/Remover..."
diff --git a/dlls/appwiz.cpl/Ro.rc b/dlls/appwiz.cpl/Ro.rc
index 5ac61ea8904..79052c00fd6 100644
--- a/dlls/appwiz.cpl/Ro.rc
+++ b/dlls/appwiz.cpl/Ro.rc
@@ -38,7 +38,9 @@ STRINGTABLE
    IDS_COLUMN_NAME, "Nume"
    IDS_COLUMN_PUBLISHER, "Emitent"
    IDS_COLUMN_VERSION, "Versiune"
-   IDS_INSTALL_FILTER, "Programe de instalare\0*instal*.exe;*setup*.exe;*.msi\0Programe (*.exe)\0*.exe\0Toate fișierele (*.*)\0*.*\0\0"
+   IDS_FILTER_INSTALLS, "Programe de instalare"
+   IDS_FILTER_PROGRAMS, "Programe (*.exe)"
+   IDS_FILTER_ALL,      "Toate fișierele (*.*)"
 
    IDS_REMOVE, "&Sterge..."
    IDS_MODIFY_REMOVE, "&Modifică/Șterge..."
diff --git a/dlls/appwiz.cpl/Ru.rc b/dlls/appwiz.cpl/Ru.rc
index ba3d3bd78fd..b9139bc7f45 100644
--- a/dlls/appwiz.cpl/Ru.rc
+++ b/dlls/appwiz.cpl/Ru.rc
@@ -39,7 +39,9 @@ STRINGTABLE
    IDS_COLUMN_NAME, "Название"
    IDS_COLUMN_PUBLISHER, "Издатель"
    IDS_COLUMN_VERSION, "Версия"
-   IDS_INSTALL_FILTER, "Установщики\0*instal*.exe;*setup*.exe;*.msi\0Программы (*.exe)\0*.exe\0Все файлы (*.*)\0*.*\0\0"
+   IDS_FILTER_INSTALLS, "Установщики"
+   IDS_FILTER_PROGRAMS, "Программы (*.exe)"
+   IDS_FILTER_ALL,      "Все файлы (*.*)"
 
 
    IDS_REMOVE, "&Удалить..."
diff --git a/dlls/appwiz.cpl/Si.rc b/dlls/appwiz.cpl/Si.rc
index 192c52b445d..91213dae177 100644
--- a/dlls/appwiz.cpl/Si.rc
+++ b/dlls/appwiz.cpl/Si.rc
@@ -37,7 +37,9 @@ STRINGTABLE
    IDS_COLUMN_NAME, "Ime"
    IDS_COLUMN_PUBLISHER, "Založnik"
    IDS_COLUMN_VERSION, "Različica"
-   IDS_INSTALL_FILTER, "Instalacijski programi\0*instal*.exe;*setup*.exe;*.msi\0Programi (*.exe)\0*.exe\0Vse datoteke (*.*)\0*.*\0\0"
+   IDS_FILTER_INSTALLS, "Instalacijski programi"
+   IDS_FILTER_PROGRAMS, "Programi (*.exe)"
+   IDS_FILTER_ALL,      "Vse datoteke (*.*)"
 
    IDS_REMOVE, "&Odstrani ..."
    IDS_MODIFY_REMOVE, "&Modify/Remove ..."
diff --git a/dlls/appwiz.cpl/Sr.rc b/dlls/appwiz.cpl/Sr.rc
index 8dfae1743db..1ca6b554271 100644
--- a/dlls/appwiz.cpl/Sr.rc
+++ b/dlls/appwiz.cpl/Sr.rc
@@ -39,7 +39,9 @@ STRINGTABLE
    IDS_COLUMN_NAME, "Ime"
    IDS_COLUMN_PUBLISHER, "Izdavač"
    IDS_COLUMN_VERSION, "Izdanje"
-   IDS_INSTALL_FILTER, "Instalacioni programi\0*instal*.exe;*setup*.exe;*.msi\0Izvršne datoteke (*.exe)\0*.exe\0Sve datoteke (*.*)\0*.*\0\0"
+   IDS_FILTER_INSTALLS, "Instalacioni programi"
+   IDS_FILTER_PROGRAMS, "Izvršne datoteke (*.exe)"
+   IDS_FILTER_ALL,      "Sve datoteke (*.*)"
 
    IDS_REMOVE, "&Ukloni..."
    IDS_MODIFY_REMOVE, "&Izmeni/ukloni..."
@@ -107,7 +109,9 @@ STRINGTABLE
    IDS_COLUMN_NAME, "Име"
    IDS_COLUMN_PUBLISHER, "Издавач"
    IDS_COLUMN_VERSION, "Издање"
-   IDS_INSTALL_FILTER, "Инсталациони програми\0*instal*.exe;*setup*.exe;*.msi\0Извршне датотеке (*.exe)\0*.exe\0Све датотеке (*.*)\0*.*\0\0"
+   IDS_FILTER_INSTALLS, "Инсталациони програми"
+   IDS_FILTER_PROGRAMS, "Извршне датотеке (*.exe)"
+   IDS_FILTER_ALL,      "Све датотеке (*.*)"
 
    IDS_REMOVE, "&Уклони..."
    IDS_MODIFY_REMOVE, "&Измени/уклони..."
diff --git a/dlls/appwiz.cpl/Sv.rc b/dlls/appwiz.cpl/Sv.rc
index 69a1d964e81..e67da7e7f45 100644
--- a/dlls/appwiz.cpl/Sv.rc
+++ b/dlls/appwiz.cpl/Sv.rc
@@ -39,7 +39,9 @@ STRINGTABLE
    IDS_COLUMN_NAME, "Namn"
    IDS_COLUMN_PUBLISHER, "Utgivare"
    IDS_COLUMN_VERSION, "Version"
-   IDS_INSTALL_FILTER, "Installationsprogram\0*instal*.exe;*setup*.exe;*.msi\0Program (*.exe)\0*.exe\0Alla filer (*.*)\0*.*\0\0"
+   IDS_FILTER_INSTALLS, "Installationsprogram"
+   IDS_FILTER_PROGRAMS, "Program (*.exe)"
+   IDS_FILTER_ALL,      "Alla filer (*.*)"
 
    IDS_REMOVE, "&Ta bort..."
    IDS_MODIFY_REMOVE, "&Ändra/Ta bort..."
diff --git a/dlls/appwiz.cpl/Uk.rc b/dlls/appwiz.cpl/Uk.rc
index 8da57b9c695..80fa35a9951 100644
--- a/dlls/appwiz.cpl/Uk.rc
+++ b/dlls/appwiz.cpl/Uk.rc
@@ -39,7 +39,9 @@ STRINGTABLE
    IDS_COLUMN_NAME, "Назва"
    IDS_COLUMN_PUBLISHER, "Видавець"
    IDS_COLUMN_VERSION, "Версія"
-   IDS_INSTALL_FILTER, "Програми встановлення\0*instal*.exe;*setup*.exe;*.msi\0Програми (*.exe)\0*.exe\0Всі Файли (*.*)\0*.*\0\0"
+   IDS_FILTER_INSTALLS, "Програми встановлення"
+   IDS_FILTER_PROGRAMS, "Програми (*.exe)"
+   IDS_FILTER_ALL,      "Всі Файли (*.*)"
 
    IDS_REMOVE, "&Видалити..."
    IDS_MODIFY_REMOVE, "&Змінити/Видалити..."
diff --git a/dlls/appwiz.cpl/Zh.rc b/dlls/appwiz.cpl/Zh.rc
index e64b6ebbd99..61ea3599412 100644
--- a/dlls/appwiz.cpl/Zh.rc
+++ b/dlls/appwiz.cpl/Zh.rc
@@ -39,7 +39,9 @@ STRINGTABLE
    IDS_COLUMN_NAME, "名称"
    IDS_COLUMN_PUBLISHER, "生产商"
    IDS_COLUMN_VERSION, "版本"
-   IDS_INSTALL_FILTER, "安装程序\0*instal*.exe;*setup*.exe;*.msi\0程序 (*.exe)\0*.exe\0所有文件 (*.*)\0*.*\0\0"
+   IDS_FILTER_INSTALLS, "安装程序"
+   IDS_FILTER_PROGRAMS, "程序 (*.exe)"
+   IDS_FILTER_ALL,      "所有文件 (*.*)"
 
    IDS_REMOVE, "删除 (&R)..."
    IDS_MODIFY_REMOVE, "修改或删除 (&M)..."
@@ -120,7 +122,9 @@ STRINGTABLE
    IDS_COLUMN_NAME, "名稱"
    IDS_COLUMN_PUBLISHER, "生產商"
    IDS_COLUMN_VERSION, "版本"
-   IDS_INSTALL_FILTER, "Installation Programs\0*instal*.exe;*setup*.exe;*.msi\0Programs (*.exe)\0*.exe\0All Files (*.*)\0*.*\0\0"
+   IDS_FILTER_INSTALLS, "Installation Programs"
+   IDS_FILTER_PROGRAMS, "Programs (*.exe)"
+   IDS_FILTER_ALL,      "All files (*.*)"
 
    IDS_REMOVE, "&Remove..."
    IDS_MODIFY_REMOVE, "&Modify/Remove..."
diff --git a/dlls/appwiz.cpl/appwiz.c b/dlls/appwiz.cpl/appwiz.c
index 45fc4676e5f..83da7d90544 100644
--- a/dlls/appwiz.cpl/appwiz.c
+++ b/dlls/appwiz.cpl/appwiz.c
@@ -446,14 +446,23 @@ static void UpdateButtons(HWND hWnd)
  */
 static void InstallProgram(HWND hWnd)
 {
+    static const WCHAR filters[] = {'%','s','%','c','*','i','n','s','t','a','l','*','.','e','x','e',';','*','s','e','t','u','p','*','.','e','x','e',';','*','.','m','s','i','%','c','%','s','%','c','*','.','e','x','e','%','c','%','s','%','c','*','.','*','%','c',0}
+;
     OPENFILENAMEW ofn;
     WCHAR titleW[MAX_STRING_LEN];
-    WCHAR FilterBufferW[MAX_STRING_LEN];
+    WCHAR filter_installs[MAX_STRING_LEN];
+    WCHAR filter_programs[MAX_STRING_LEN];
+    WCHAR filter_all[MAX_STRING_LEN];
+    WCHAR FilterBufferW[MAX_PATH];
     WCHAR FileNameBufferW[MAX_PATH];
 
     LoadStringW(hInst, IDS_CPL_TITLE, titleW, sizeof(titleW)/sizeof(WCHAR));
-    LoadStringW(hInst, IDS_INSTALL_FILTER, FilterBufferW, sizeof(FilterBufferW)/sizeof(WCHAR));
+    LoadStringW(hInst, IDS_FILTER_INSTALLS, filter_installs, sizeof(filter_installs)/sizeof(WCHAR));
+    LoadStringW(hInst, IDS_FILTER_PROGRAMS, filter_programs, sizeof(filter_programs)/sizeof(WCHAR));
+    LoadStringW(hInst, IDS_FILTER_ALL, filter_all, sizeof(filter_all)/sizeof(WCHAR));
 
+    snprintfW( FilterBufferW, MAX_PATH, filters, filter_installs, 0, 0,
+               filter_programs, 0, 0, filter_all, 0, 0 );
     memset(&ofn, 0, sizeof(OPENFILENAMEW));
     ofn.lStructSize = sizeof(OPENFILENAMEW);
     ofn.hwndOwner = hWnd;
diff --git a/dlls/appwiz.cpl/res.h b/dlls/appwiz.cpl/res.h
index 3bda4b6cbfe..7dfbf1fd908 100644
--- a/dlls/appwiz.cpl/res.h
+++ b/dlls/appwiz.cpl/res.h
@@ -63,9 +63,11 @@
 #define IDS_COLUMN_NAME        6
 #define IDS_COLUMN_PUBLISHER   7
 #define IDS_COLUMN_VERSION     8
-#define IDS_INSTALL_FILTER     9
-#define IDS_REMOVE             10
-#define IDS_MODIFY_REMOVE      11
-#define IDS_DOWNLOADING        12
-#define IDS_INSTALLING         13
-#define IDS_INVALID_SHA        14
+#define IDS_FILTER_INSTALLS    9
+#define IDS_FILTER_PROGRAMS    10
+#define IDS_FILTER_ALL         11
+#define IDS_REMOVE             12
+#define IDS_MODIFY_REMOVE      13
+#define IDS_DOWNLOADING        14
+#define IDS_INSTALLING         15
+#define IDS_INVALID_SHA        16
-- 
GitLab