mshtml: Use wineaddon.cpl to install Gecko.

This commit is contained in:
Jacek Caban 2010-12-06 19:26:10 +01:00 committed by Alexandre Julliard
parent cc361eefce
commit a065d6fad9
30 changed files with 38 additions and 958 deletions

View File

@ -24,20 +24,4 @@ STRINGTABLE
{
IDS_HTMLDISABLED "HTML èçîáðàçÿâàíåòî å èçêëþ÷åíî."
IDS_HTMLDOCUMENT "HTML äîêóìåíò"
IDS_DOWNLOADING "Èçòåãëÿíå..."
IDS_INSTALLING "Èíñòàëèðàíå..."
}
ID_DWL_DIALOG DIALOG 0, 0, 260, 95
STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Wine Gecko Installer"
FONT 8, "MS Shell Dlg"
{
LTEXT "Wine could not find a Gecko package which is needed for applications embedding HTML " \
"to work correctly. Wine can automatically download and install it for you.\n\n" \
"Note: it's recommended to use distro packages instead. See http://wiki.winehq.org/Gecko for details.",
ID_DWL_STATUS, 10, 10, 240, 50, SS_LEFT
CONTROL "Íàïðåäúê", ID_DWL_PROGRESS, PROGRESS_CLASSA, WS_BORDER|PBS_SMOOTH, 10, 40, 240, 12
DEFPUSHBUTTON "Èíñòàëèðàé", ID_DWL_INSTALL, 200, 70, 50, 15, WS_GROUP | WS_TABSTOP
PUSHBUTTON "Îòêàç", IDCANCEL, 140, 70, 50, 15, WS_GROUP | WS_TABSTOP
}

View File

@ -29,22 +29,6 @@ STRINGTABLE
{
IDS_HTMLDISABLED "HTML optegning er i øjeblikket deaktiveret."
IDS_HTMLDOCUMENT "HTML dokument"
IDS_DOWNLOADING "Henter..."
IDS_INSTALLING "Installerer..."
}
ID_DWL_DIALOG DIALOG 0, 0, 260, 95
STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Installere Wine Gecko"
FONT 8, "MS Shell Dlg"
{
LTEXT "Wine kunne ikke finde Gecko Pakken, som er nødvendig for at få applikationers indlejringaf HTML til at fungere korrekt. " \
"Wine kan automatisk downloade, og installere det for dig.\n\n" \
"Bemærk: Det anbefales at bruge distributions pakker i stedet. Se http://wiki.winehq.org/Gecko for flere detaljer.",
ID_DWL_STATUS, 10, 10, 240, 50, SS_LEFT
CONTROL "Fremgang", ID_DWL_PROGRESS, PROGRESS_CLASSA, WS_BORDER|PBS_SMOOTH, 10, 40, 240, 12
DEFPUSHBUTTON "&Installer", ID_DWL_INSTALL, 200, 70, 50, 15, WS_GROUP | WS_TABSTOP
PUSHBUTTON "&Annuller", IDCANCEL, 140, 70, 50, 15, WS_GROUP | WS_TABSTOP
}
IDD_HYPERLINK DIALOG 0, 0, 250, 65

View File

@ -35,24 +35,6 @@ STRINGTABLE
{
IDS_HTMLDISABLED "Die HTML-Darstellung ist zur Zeit ausgeschaltet."
IDS_HTMLDOCUMENT "HTML-Dokument"
IDS_DOWNLOADING "Lade herunter..."
IDS_INSTALLING "Installiere..."
}
ID_DWL_DIALOG DIALOG 0, 0, 260, 95
STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Wine-Gecko-Installation"
FONT 8, "MS Shell Dlg"
{
LTEXT "Wine kann das Gecko-Paket nicht finden. Es wird von Programmen mit eingebettetem HTML benötigt, " \
"damit diese richtig funktionieren.\n" \
"Wine kann das Paket für Sie herunterladen und installieren.\n\n" \
"Hinweis: Es wird empfohlen das Paket ihrer Distribution zu verwenden. " \
"Weitere Hinweise finden Sie unter http://wiki.winehq.org/Gecko",
ID_DWL_STATUS, 10, 10, 240, 50, SS_LEFT
CONTROL "Fortschritt", ID_DWL_PROGRESS, PROGRESS_CLASSA, WS_BORDER|PBS_SMOOTH, 10, 50, 240, 12
DEFPUSHBUTTON "&Installieren", ID_DWL_INSTALL, 200, 70, 50, 15, WS_GROUP | WS_TABSTOP
PUSHBUTTON "&Abbrechen", IDCANCEL, 140, 70, 50, 15, WS_GROUP | WS_TABSTOP
}
IDD_HYPERLINK DIALOG 0, 0, 250, 65

View File

@ -30,22 +30,6 @@ STRINGTABLE
{
IDS_HTMLDISABLED "HTML rendering is currently disabled."
IDS_HTMLDOCUMENT "HTML Document"
IDS_DOWNLOADING "Downloading..."
IDS_INSTALLING "Installing..."
}
ID_DWL_DIALOG DIALOG 0, 0, 260, 95
STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Wine Gecko Installer"
FONT 8, "MS Shell Dlg"
{
LTEXT "Wine could not find a Gecko package which is needed for applications embedding HTML " \
"to work correctly. Wine can automatically download and install it for you.\n\n" \
"Note: it's recommended to use distro packages instead. See http://wiki.winehq.org/Gecko for details.",
ID_DWL_STATUS, 10, 10, 240, 50, SS_LEFT
CONTROL "Progress", ID_DWL_PROGRESS, PROGRESS_CLASSA, WS_BORDER|PBS_SMOOTH, 10, 40, 240, 12
DEFPUSHBUTTON "&Install", ID_DWL_INSTALL, 200, 70, 50, 15, WS_GROUP | WS_TABSTOP
PUSHBUTTON "&Cancel", IDCANCEL, 140, 70, 50, 15, WS_GROUP | WS_TABSTOP
}
IDD_HYPERLINK DIALOG 0, 0, 250, 65

View File

@ -33,23 +33,6 @@ STRINGTABLE
{
IDS_HTMLDISABLED "El renderizado HTML está actualmente deshabilitado."
IDS_HTMLDOCUMENT "Documento HTML"
IDS_DOWNLOADING "Descargando..."
IDS_INSTALLING "Instalando..."
}
ID_DWL_DIALOG DIALOG 0, 0, 260, 95
STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Instalador de Gecko de Wine"
FONT 8, "MS Shell Dlg"
{
LTEXT "Wine no pudo encontrar el paquete Gecko, que necesitan las aplicaciones que incrustan HTML " \
"para funcionar correctamente. Wine puede descargarlo automáticamente e instalarlo para usted.\n\n" \
"Nota: Se recomienda utilizar el paquete para su distribución si está disponible. " \
"Consulte http://wiki.winehq.org/Gecko para más detalles.",
ID_DWL_STATUS, 10, 10, 240, 50, SS_LEFT
CONTROL "Progreso", ID_DWL_PROGRESS, PROGRESS_CLASSA, WS_BORDER|PBS_SMOOTH, 10, 50, 240, 12
DEFPUSHBUTTON "&Instalar", ID_DWL_INSTALL, 200, 70, 50, 15, WS_GROUP | WS_TABSTOP
PUSHBUTTON "&Cancelar", IDCANCEL, 140, 70, 50, 15, WS_GROUP | WS_TABSTOP
}
IDD_HYPERLINK DIALOG 0, 0, 250, 65

View File

@ -26,6 +26,4 @@ STRINGTABLE
{
IDS_HTMLDISABLED "HTML:n näyttäminen on tällähetkellä poistettu käytöstä."
IDS_HTMLDOCUMENT "HTML Dokumentti"
IDS_DOWNLOADING "Downloading..."
IDS_INSTALLING "Installing..."
}

View File

@ -37,24 +37,6 @@ STRINGTABLE
{
IDS_HTMLDISABLED "Le rendu HTML est actuellement désactivé."
IDS_HTMLDOCUMENT "Document HTML"
IDS_DOWNLOADING "Téléchargement..."
IDS_INSTALLING "Installation..."
}
ID_DWL_DIALOG DIALOG 0, 0, 260, 110
STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Programme d'installation de Gecko pour Wine"
FONT 8, "MS Shell Dlg"
{
LTEXT "Wine n'a pu trouver de paquet Gecko, qui est nécessaire pour que les applications "\
"incorporant du HTML puissent fonctionner correctement.\nWine peut automatiquement "\
"le télécharger et l'installer pour vous.\n\n" \
"Note : il est recommandé d'utiliser le paquet de votre distribution si disponible. " \
"Consultez http://wiki.winehq.org/Gecko pour plus de détails.",
ID_DWL_STATUS, 10, 10, 240, 50, SS_LEFT
CONTROL "Progression", ID_DWL_PROGRESS, PROGRESS_CLASSA, WS_BORDER|PBS_SMOOTH, 10, 65, 240, 12
DEFPUSHBUTTON "&Installer", ID_DWL_INSTALL, 200, 85, 50, 15, WS_GROUP | WS_TABSTOP
PUSHBUTTON "&Annuler", IDCANCEL, 140, 85, 50, 15, WS_GROUP | WS_TABSTOP
}
IDD_HYPERLINK DIALOG 0, 0, 250, 65

View File

@ -33,23 +33,6 @@ STRINGTABLE
{
IDS_HTMLDISABLED "עיבוד HTML מנוטרל כעת."
IDS_HTMLDOCUMENT "מסמך HTML"
IDS_DOWNLOADING "הורדה..."
IDS_INSTALLING "התקנה..."
}
ID_DWL_DIALOG DIALOG 0, 0, 260, 95
STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_LAYOUTRTL
CAPTION "התקנת Gecko על Wine"
FONT 8, "MS Shell Dlg"
{
LTEXT "אין באפשרות Wine למצוא את החבילה של Gecko הדרושה לצורך פעולה תקינה של יישומים המפענחים HTML." \
"באפשרות Wine להוריד ולהתקין אותה אוטומטית עבורך.\n\n" \
"לתשומת לבך: מומלץ להשתמש בחבילות ההפצה במקום. ניתן לעיין בכתובת http://wiki.winehq.org/Gecko לפרטים נוספים.",
ID_DWL_STATUS, 10, 10, 240, 50, SS_LEFT
CONTROL "התקדמות", ID_DWL_PROGRESS, PROGRESS_CLASSA, WS_BORDER|PBS_SMOOTH, 10, 40, 240, 12
DEFPUSHBUTTON "ה&תקנה", ID_DWL_INSTALL, 200, 70, 50, 15, WS_GROUP | WS_TABSTOP
PUSHBUTTON "&ביטול", IDCANCEL, 140, 70, 50, 15, WS_GROUP | WS_TABSTOP
}
IDD_HYPERLINK DIALOG 0, 0, 250, 65

View File

@ -27,22 +27,6 @@ STRINGTABLE
{
IDS_HTMLDISABLED "A HTML renderelés jelenleg le van tiltva."
IDS_HTMLDOCUMENT "HTML dokumentum"
IDS_DOWNLOADING "Letöltés..."
IDS_INSTALLING "Telepítés..."
}
ID_DWL_DIALOG DIALOG 0, 0, 260, 95
STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Wine Gecko Installer"
FONT 8, "MS Shell Dlg"
{
LTEXT "A Wine nem talált Gecko csomagot, ami ahhoz szükséges hogy a HTML-t beágyazó alkalmazások " \
"megfelelően működjenek. A Wine ezt automatikusan letöltheti és feltelepítheti Önnek.\n\n" \
"Megjegyzés: Ajánlott a disztribúció csomagjának használata ez helyet. Lásd a http://wiki.winehq.org/Gecko címet a részletekért.",
ID_DWL_STATUS, 10, 10, 240, 50, SS_LEFT
CONTROL "Folyamat", ID_DWL_PROGRESS, PROGRESS_CLASSA, WS_BORDER|PBS_SMOOTH, 10, 40, 240, 12
DEFPUSHBUTTON "&Telepítés", ID_DWL_INSTALL, 200, 70, 50, 15, WS_GROUP | WS_TABSTOP
PUSHBUTTON "&Mégse", IDCANCEL, 140, 70, 50, 15, WS_GROUP | WS_TABSTOP
}
IDD_HYPERLINK DIALOG 0, 0, 250, 65

View File

@ -33,22 +33,6 @@ STRINGTABLE
{
IDS_HTMLDISABLED "Il rendering HTML è attualmente disattivato."
IDS_HTMLDOCUMENT "Documento HTML"
IDS_DOWNLOADING "Scaricando..."
IDS_INSTALLING "Installando..."
}
ID_DWL_DIALOG DIALOG 0, 0, 260, 95
STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Installer di Wine Gecko"
FONT 8, "MS Shell Dlg"
{
LTEXT "Wine non ha trovato un pacchetto Gecko che è necessario per applicazioni che incorporano HTML " \
"per funzionare correttamente. Wine può automaticamente scaricarlo ed installarlo per te.\n\n" \
"Nota: è raccomandato usare i pacchetti delle distribuzioni. Leggi http://wiki.winehq.org/Gecko per i dettagli.",
ID_DWL_STATUS, 10, 10, 240, 50, SS_LEFT
CONTROL "Avanzamento", ID_DWL_PROGRESS, PROGRESS_CLASSA, WS_BORDER|PBS_SMOOTH, 10, 40, 240, 12
DEFPUSHBUTTON "&Installa", ID_DWL_INSTALL, 200, 70, 50, 15, WS_GROUP | WS_TABSTOP
PUSHBUTTON "&Annulla", IDCANCEL, 140, 70, 50, 15, WS_GROUP | WS_TABSTOP
}
IDD_HYPERLINK DIALOG 0, 0, 250, 65

View File

@ -33,24 +33,6 @@ STRINGTABLE
{
IDS_HTMLDISABLED "HTML レンダリングは現在、無効です。"
IDS_HTMLDOCUMENT "HTML 文書"
IDS_DOWNLOADING "ダウンロードしています..."
IDS_INSTALLING "インストールしています..."
}
ID_DWL_DIALOG DIALOG 0, 0, 260, 95
STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Wine Gecko インストーラ"
FONT 9, "MS Shell Dlg"
{
LTEXT "Gecko パッケージが見つかりません。このパッケージは、HTML を組み込んだ" \
"アプリケーションが正しく動作するために必要です。 " \
"Wine で Gecko パッケージを自動的にダウンロードし、インストールできます。\n\n" \
"注意: 代わりにディストリビューションのパッケージを利用することをおすすめします。" \
"詳しくは、http://wiki.winehq.org/Gecko を参照ください。",
ID_DWL_STATUS, 10, 10, 240, 50, SS_LEFT
CONTROL "Progress", ID_DWL_PROGRESS, PROGRESS_CLASSA, WS_BORDER|PBS_SMOOTH, 10, 40, 240, 12
DEFPUSHBUTTON "インストール(&I)", ID_DWL_INSTALL, 200, 70, 50, 15, WS_GROUP | WS_TABSTOP
PUSHBUTTON "キャンセル(&C)", IDCANCEL, 140, 70, 50, 15, WS_GROUP | WS_TABSTOP
}
IDD_HYPERLINK DIALOG 0, 0, 250, 65

View File

@ -33,22 +33,6 @@ STRINGTABLE
{
IDS_HTMLDISABLED "HTML 렌더링은 현재 가능하지 않음."
IDS_HTMLDOCUMENT "HTML 문서"
IDS_DOWNLOADING "다운로드 중..."
IDS_INSTALLING "설치 중..."
}
ID_DWL_DIALOG DIALOG 0, 0, 260, 95
STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Wine Gecko 설치 풀그림"
FONT 9, "MS Shell Dlg"
{
LTEXT "Wine could not find a Gecko package which is needed for applications embedding HTML " \
"to work correctly. Wine can automatically download and install it for you.\n\n" \
"Note: it's recommended to use distro packages instead. See http://wiki.winehq.org/Gecko for details.",
ID_DWL_STATUS, 10, 10, 240, 50, SS_LEFT
CONTROL "진행중", ID_DWL_PROGRESS, PROGRESS_CLASSA, WS_BORDER|PBS_SMOOTH, 10, 40, 240, 12
DEFPUSHBUTTON "설치(&I)", ID_DWL_INSTALL, 200, 70, 50, 15, WS_GROUP | WS_TABSTOP
PUSHBUTTON "취소(&C)", IDCANCEL, 140, 70, 50, 15, WS_GROUP | WS_TABSTOP
}
IDD_HYPERLINK DIALOG 0, 0, 250, 65

View File

@ -33,22 +33,6 @@ STRINGTABLE
{
IDS_HTMLDISABLED "HTML atvaizdavimas yra išjungtas."
IDS_HTMLDOCUMENT "HTML dokumentas"
IDS_DOWNLOADING "Atsiunčiama..."
IDS_INSTALLING "Įdiegiama..."
}
ID_DWL_DIALOG DIALOG 0, 0, 260, 105
STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Wine Gecko diegimo programa"
FONT 8, "MS Shell Dlg"
{
LTEXT "Wine nepavyko rasti Gecko paketo reikalingo programoms įterpiančioms HTML " \
"teisingai veikti. Wine gali automatiškai atsiųsti ir įdiegti šį paketą.\n\n" \
"Pastaba: rekomenduojama naudoti distribucijos paketus. Daugiau informacijos http://wiki.winehq.org/Gecko.",
ID_DWL_STATUS, 10, 10, 240, 50, SS_LEFT
CONTROL "Eiga", ID_DWL_PROGRESS, PROGRESS_CLASSA, WS_BORDER|PBS_SMOOTH, 10, 60, 240, 12
DEFPUSHBUTTON "&Įdiegti", ID_DWL_INSTALL, 200, 80, 50, 15, WS_GROUP | WS_TABSTOP
PUSHBUTTON "&Atsisakyti", IDCANCEL, 140, 80, 50, 15, WS_GROUP | WS_TABSTOP
}
IDD_HYPERLINK DIALOG 0, 0, 250, 65

View File

@ -47,7 +47,6 @@ C_SRCS = \
htmltextcont.c \
htmltextnode.c \
htmlwindow.c \
install.c \
loadopts.c \
main.c \
mutation.c \

View File

@ -32,22 +32,6 @@ STRINGTABLE
{
IDS_HTMLDISABLED "De HTML weergave is op dit moment uitgeschakeld."
IDS_HTMLDOCUMENT "HTML document"
IDS_DOWNLOADING "Bezig met downloaden..."
IDS_INSTALLING "Bezig met installeren..."
}
ID_DWL_DIALOG DIALOG 0, 0, 260, 95
STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Wine-Gecko-Installatie"
FONT 8, "MS Shell Dlg"
{
LTEXT "Wine kon geen Gecko pakket vinden. Gecko is nodig voor programma's die gebruik maken " \
"van embedded HTML. Wine kan het automatisch voor u downloaden en installeren.\n\n" \
"Noot: het is aanbevolen om distro pakketten te gebruiken. Zie http://wiki.winehq.org/Gecko voor details.",
ID_DWL_STATUS, 10, 10, 240, 50, SS_LEFT
CONTROL "Voortgang", ID_DWL_PROGRESS, PROGRESS_CLASSA, WS_BORDER|PBS_SMOOTH, 10, 50, 240, 12
DEFPUSHBUTTON "&Installeren", ID_DWL_INSTALL, 200, 70, 50, 15, WS_GROUP | WS_TABSTOP
PUSHBUTTON "&Afbreken", IDCANCEL, 140, 70, 50, 15, WS_GROUP | WS_TABSTOP
}
IDD_HYPERLINK DIALOG 0, 0, 250, 65

View File

@ -28,22 +28,6 @@ STRINGTABLE
{
IDS_HTMLDISABLED "HTML-tegning er for øyeblikket deaktivert."
IDS_HTMLDOCUMENT "HTML-dokument"
IDS_DOWNLOADING "Laster ned..."
IDS_INSTALLING "Installerer..."
}
ID_DWL_DIALOG DIALOG 0, 0, 260, 95
STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Installere Wine Gecko"
FONT 8, "MS Shell Dlg"
{
LTEXT "Wine could not find a Gecko package which is needed for applications embedding HTML " \
"to work correctly. Wine can automatically download and install it for you.\n\n" \
"Note: it's recommended to use distro packages instead. See http://wiki.winehq.org/Gecko for details.",
ID_DWL_STATUS, 10, 10, 240, 50, SS_LEFT
CONTROL "Progress", ID_DWL_PROGRESS, PROGRESS_CLASSA, WS_BORDER|PBS_SMOOTH, 10, 40, 240, 12
DEFPUSHBUTTON "&Installer", ID_DWL_INSTALL, 200, 70, 50, 15, WS_GROUP | WS_TABSTOP
PUSHBUTTON "&Avbryt", IDCANCEL, 140, 70, 50, 15, WS_GROUP | WS_TABSTOP
}
IDD_HYPERLINK DIALOG 0, 0, 250, 65

View File

@ -32,22 +32,6 @@ STRINGTABLE
{
IDS_HTMLDISABLED "Wyświetlanie HTML jest aktualnie wyłączone."
IDS_HTMLDOCUMENT "Dokument HTML"
IDS_DOWNLOADING "Pobieranie plików..."
IDS_INSTALLING "Instalacja..."
}
ID_DWL_DIALOG DIALOG 0, 0, 260, 95
STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Instalator Wine Gecko"
FONT 8, "MS Shell Dlg"
{
LTEXT "Nie znaleziono paczki Gecko potrzebnej do prawidłowego działania aplikacji " \
"zawierajšcych kod HTML . Wine może automatycznie pobrać i zainstalować tš paczkę dla ciebie.\n\n" \
"Uwaga: Lepiej jednak użyć paczki z twojej dystrybucji. Po szczegóły zajrzyj na http://wiki.winehq.org/Gecko.",
ID_DWL_STATUS, 10, 10, 240, 50, SS_LEFT
CONTROL "Postęp", ID_DWL_PROGRESS, PROGRESS_CLASSA, WS_BORDER|PBS_SMOOTH, 10, 40, 240, 12
DEFPUSHBUTTON "&Zainstaluj", ID_DWL_INSTALL, 200, 70, 50, 15, WS_GROUP | WS_TABSTOP
PUSHBUTTON "&Anuluj", IDCANCEL, 140, 70, 50, 15, WS_GROUP | WS_TABSTOP
}
IDD_HYPERLINK DIALOG 0, 0, 250, 65

View File

@ -35,8 +35,6 @@ STRINGTABLE
{
IDS_HTMLDISABLED "A interpretação de HTML está desativada."
IDS_HTMLDOCUMENT "Documento HTML"
IDS_DOWNLOADING "Fazendo o download..."
IDS_INSTALLING "Instalando..."
}
LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE
@ -53,46 +51,8 @@ STRINGTABLE
{
IDS_HTMLDISABLED "A interpretação de HTML está desactivada."
IDS_HTMLDOCUMENT "Documento HTML"
IDS_DOWNLOADING "A descarregar..."
IDS_INSTALLING "A instalar..."
}
LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN
ID_DWL_DIALOG DIALOG 0, 0, 260, 95
STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Instalador Wine Gecko"
FONT 8, "MS Shell Dlg"
{
LTEXT "O Wine não pôde encontrar o pacote Gecko que é necessário para aplicações com HTML embutido " \
"funcionarem corretamente. O Wine pode automaticamente efetuar o download e instalá-lo para você.\n\n" \
"Nota: é recomendável usar os pacotes da sua distribuição ao invés disso.\n\
Veja http://wiki.winehq.org/Gecko para mais detalhes.",
ID_DWL_STATUS, 10, 10, 240, 60, SS_LEFT
CONTROL "Progresso", ID_DWL_PROGRESS, PROGRESS_CLASSA, WS_BORDER|PBS_SMOOTH, 10, 50, 240, 12
DEFPUSHBUTTON "&Instalar", ID_DWL_INSTALL, 200, 70, 50, 15, WS_GROUP | WS_TABSTOP
PUSHBUTTON "&Cancelar", IDCANCEL, 140, 70, 50, 15, WS_GROUP | WS_TABSTOP
}
LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE
ID_DWL_DIALOG DIALOG 0, 0, 260, 95
STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Instalador Wine Gecko"
FONT 8, "MS Shell Dlg"
{
LTEXT "O Wine não conseguiu encontrar o pacote Gecko que é necessário para aplicações com HTML embutido " \
"funcionarem corretamente. O Wine pode automaticamente efetuar o download e instalá-lo por si.\n\n" \
"Nota: é recomendável usar os pacotes da sua distribuição em vez disso.\n\
Veja http://wiki.winehq.org/Gecko para mais detalhes.",
ID_DWL_STATUS, 10, 10, 240, 50, SS_LEFT
CONTROL "Progresso", ID_DWL_PROGRESS, PROGRESS_CLASSA, WS_BORDER|PBS_SMOOTH, 10, 50, 240, 12
DEFPUSHBUTTON "&Instalar", ID_DWL_INSTALL, 200, 70, 50, 15, WS_GROUP | WS_TABSTOP
PUSHBUTTON "&Cancelar", IDCANCEL, 140, 70, 50, 15, WS_GROUP | WS_TABSTOP
}
LANGUAGE LANG_PORTUGUESE, SUBLANG_PORTUGUESE_BRAZILIAN
IDD_HYPERLINK DIALOG 0, 0, 250, 65

View File

@ -27,22 +27,6 @@ STRINGTABLE
{
IDS_HTMLDISABLED "Afișarea de pagini HTML este în prezent dezactivată."
IDS_HTMLDOCUMENT "Document HTML"
IDS_DOWNLOADING "Descarc..."
IDS_INSTALLING "Instalez..."
}
ID_DWL_DIALOG DIALOG 0, 0, 260, 95
STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Instalator Wine Gecko"
FONT 8, "MS Shell Dlg"
{
LTEXT "Wine could not find a Gecko package which is needed for applications embedding HTML " \
"to work correctly. Wine can automatically download and install it for you.\n\n" \
"Note: it's recommended to use distro packages instead. See http://wiki.winehq.org/Gecko for details.",
ID_DWL_STATUS, 10, 10, 240, 50, SS_LEFT
CONTROL "Progres", ID_DWL_PROGRESS, PROGRESS_CLASSA, WS_BORDER|PBS_SMOOTH, 10, 50, 240, 12
DEFPUSHBUTTON "&Instalează", ID_DWL_INSTALL, 200, 70, 50, 15, WS_GROUP | WS_TABSTOP
PUSHBUTTON "&Renunță", IDCANCEL, 140, 70, 50, 15, WS_GROUP | WS_TABSTOP
}
IDD_HYPERLINK DIALOG 0, 0, 250, 65

View File

@ -27,24 +27,6 @@ STRINGTABLE
{
IDS_HTMLDISABLED "В настоящее время отображение HTML выключено."
IDS_HTMLDOCUMENT "Документ HTML"
IDS_DOWNLOADING "Загрузка..."
IDS_INSTALLING "Установка..."
}
ID_DWL_DIALOG DIALOG 0, 0, 261, 110
STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Установка Wine Gecko"
FONT 8, "MS Shell Dlg"
{
LTEXT "Wine не может найти пакет Gecko, который необходим для корректной работы приложений "\
"с поддержкой HTML. " \
"Wine может автоматически загрузить и установить его для вас.\n\n" \
"Примечание: рекомендуется использовать пакет, предоставляемый вашим дистрибутивом. "\
"Посетите http://wiki.winehq.org/Gecko для получения более подробной информации.",
ID_DWL_STATUS, 10, 10, 240, 70, SS_LEFT
CONTROL "Прогресс", ID_DWL_PROGRESS, PROGRESS_CLASSA, WS_BORDER|PBS_SMOOTH, 10, 65, 240, 12
DEFPUSHBUTTON "&Установить", ID_DWL_INSTALL, 180, 85, 70, 15, WS_GROUP | WS_TABSTOP
PUSHBUTTON "&Отмена", IDCANCEL, 100, 85, 70, 15, WS_GROUP | WS_TABSTOP
}
IDD_HYPERLINK DIALOG 0, 0, 250, 65

View File

@ -32,23 +32,6 @@ STRINGTABLE
{
IDS_HTMLDISABLED "Prikazovanje HTML dokumentov je trenutno onemogočeno."
IDS_HTMLDOCUMENT "HTML dokument"
IDS_DOWNLOADING "Nalagam ..."
IDS_INSTALLING "Nameščam ..."
}
ID_DWL_DIALOG DIALOG 0, 0, 260, 105
STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Namestitev Wine Gecko"
FONT 8, "MS Shell Dlg"
{
LTEXT "Wine ni našel paketa Gecko, ki ga aplikacije, ki uporabljajo HTML potrebujejo," \
"da delujejo pravilno. Wine ga lahko avtomatsko prenese in namesti.\n\n" \
"Opomba: priporočljivo je uporabiti Gecko paket od distribucije. Poglej\n "\
"http://wiki.winehq.org/Gecko za podrobnost.",
ID_DWL_STATUS, 10, 10, 240, 50, SS_LEFT
CONTROL "Napredek", ID_DWL_PROGRESS, PROGRESS_CLASSA, WS_BORDER|PBS_SMOOTH, 10, 60, 240, 12
DEFPUSHBUTTON "&Namesti", ID_DWL_INSTALL, 200, 80, 50, 15, WS_GROUP | WS_TABSTOP
PUSHBUTTON "&Prekliči", IDCANCEL, 140, 80, 50, 15, WS_GROUP | WS_TABSTOP
}
IDD_HYPERLINK DIALOG 0, 0, 250, 65

View File

@ -33,22 +33,6 @@ STRINGTABLE
{
IDS_HTMLDISABLED "HTML исцртавање је онемогућено."
IDS_HTMLDOCUMENT "HTML документ"
IDS_DOWNLOADING "Преузимање..."
IDS_INSTALLING "Инсталирање..."
}
ID_DWL_DIALOG DIALOG 0, 0, 260, 95
STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Wine Gecko инсталациони програм"
FONT 8, "MS Shell Dlg"
{
LTEXT "Wine није успео да пронађе Gecko пакет који је неопходан за исправно функционисање HTML " \
"програма. Wine је у могућности да аутоматски преузме и инсталира програм.\n\n" \
"Напомена: препоручујемо Вам да користите расподељене пакете. Погледајте http://wiki.winehq.org/Gecko за више информација.",
ID_DWL_STATUS, 10, 10, 240, 50, SS_LEFT
CONTROL "Напредак", ID_DWL_PROGRESS, PROGRESS_CLASSA, WS_BORDER|PBS_SMOOTH, 10, 40, 240, 12
DEFPUSHBUTTON "&Инсталирај", ID_DWL_INSTALL, 200, 70, 50, 15, WS_GROUP | WS_TABSTOP
PUSHBUTTON "&Откажи", IDCANCEL, 140, 70, 50, 15, WS_GROUP | WS_TABSTOP
}
IDD_HYPERLINK DIALOG 0, 0, 250, 65
@ -88,22 +72,6 @@ STRINGTABLE
{
IDS_HTMLDISABLED "HTML iscrtavanje je onemogućeno."
IDS_HTMLDOCUMENT "HTML dokument"
IDS_DOWNLOADING "Preuzimanje..."
IDS_INSTALLING "Instaliranje..."
}
ID_DWL_DIALOG DIALOG 0, 0, 260, 95
STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Wine Gecko instalacioni program"
FONT 8, "MS Shell Dlg"
{
LTEXT "Wine nije uspeo da pronađe Gecko paket koji je neophodan za ispravno funkcionisanje HTML " \
"programa. Wine je u mogućnosti da automatski preuzme i instalira program.\n\n" \
"Napomena: preporučujemo Vam da koristite raspodeljene pakete. Pogledajte http://wiki.winehq.org/Gecko za više informacija.",
ID_DWL_STATUS, 10, 10, 240, 50, SS_LEFT
CONTROL "Napredak", ID_DWL_PROGRESS, PROGRESS_CLASSA, WS_BORDER|PBS_SMOOTH, 10, 40, 240, 12
DEFPUSHBUTTON "&Instaliraj", ID_DWL_INSTALL, 200, 70, 50, 15, WS_GROUP | WS_TABSTOP
PUSHBUTTON "&Otkaži", IDCANCEL, 140, 70, 50, 15, WS_GROUP | WS_TABSTOP
}
IDD_HYPERLINK DIALOG 0, 0, 250, 65

View File

@ -30,25 +30,8 @@ STRINGTABLE
{
IDS_HTMLDISABLED "HTML-visning är inte aktiverad."
IDS_HTMLDOCUMENT "HTML-dokument"
IDS_DOWNLOADING "Hämtar..."
IDS_INSTALLING "Installerar..."
}
ID_DWL_DIALOG DIALOG 0, 0, 260, 95
STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Wine Gecko Installationsprogram"
FONT 8, "MS Shell Dlg"
{
LTEXT "Wine kunde inte hitta paketet Gecko vilket krävs för att program med inbäddad HTML " \
"ska fungera korrekt. Wine kan hämta och installera det automatiskt åt dig.\n\n" \
"Obs: Du rekommenderas att använda din distributions paket i stället. Se http://wiki.winehq.org/Gecko för mer information.",
ID_DWL_STATUS, 10, 10, 240, 50, SS_LEFT
CONTROL "Förlopp", ID_DWL_PROGRESS, PROGRESS_CLASSA, WS_BORDER|PBS_SMOOTH, 10, 40, 240, 12
DEFPUSHBUTTON "&Installera", ID_DWL_INSTALL, 200, 70, 50, 15, WS_GROUP | WS_TABSTOP
PUSHBUTTON "&Avbryt", IDCANCEL, 140, 70, 50, 15, WS_GROUP | WS_TABSTOP
}
IDD_HYPERLINK DIALOG 0, 0, 250, 65
STYLE DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Hyperlänk"

View File

@ -24,20 +24,4 @@ STRINGTABLE
{
IDS_HTMLDISABLED "HTML motoru þu an devre dýþý."
IDS_HTMLDOCUMENT "HTML Belgesi"
IDS_DOWNLOADING "Ýndiriliyor..."
IDS_INSTALLING "Kuruluyor..."
}
ID_DWL_DIALOG DIALOG 0, 0, 260, 95
STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Wine Gecko Kurucusu"
FONT 8, "MS Shell Dlg"
{
LTEXT "Wine could not find a Gecko package which is needed for applications embedding HTML " \
"to work correctly. Wine can automatically download and install it for you.\n\n" \
"Note: it's recommended to use distro packages instead. See http://wiki.winehq.org/Gecko for details.",
ID_DWL_STATUS, 10, 10, 240, 50, SS_LEFT
CONTROL "Ýlerleme", ID_DWL_PROGRESS, PROGRESS_CLASSA, WS_BORDER|PBS_SMOOTH, 10, 50, 240, 12
DEFPUSHBUTTON "&Kur", ID_DWL_INSTALL, 200, 70, 50, 15, WS_GROUP | WS_TABSTOP
PUSHBUTTON "&Ýptal", IDCANCEL, 140, 70, 50, 15, WS_GROUP | WS_TABSTOP
}

View File

@ -34,22 +34,6 @@ STRINGTABLE
{
IDS_HTMLDISABLED "В даний момент відображення HTML вимкнено."
IDS_HTMLDOCUMENT "Документ HTML"
IDS_DOWNLOADING "Завантаження..."
IDS_INSTALLING "Встановлення..."
}
ID_DWL_DIALOG DIALOG 0, 0, 260, 95
STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Встановлювач Wine Gecko"
FONT 8, "MS Shell Dlg"
{
LTEXT "Wine не може знайти пакунок Gecko, який потрібний для коректної роботи додатків " \
"з підтримкою HTML. Wine може автоматично завантажити та встановити його для Вас.\n\n" \
"Зауважте: Рекомендується використати пакет з вашого дистрибутиву. Детальніше читайте http://wiki.winehq.org/Gecko.",
ID_DWL_STATUS, 10, 10, 240, 50, SS_LEFT
CONTROL "Прогрес", ID_DWL_PROGRESS, PROGRESS_CLASSA, WS_BORDER|PBS_SMOOTH, 10, 40, 240, 12
DEFPUSHBUTTON "&Встановити", ID_DWL_INSTALL, 200, 70, 50, 15, WS_GROUP | WS_TABSTOP
PUSHBUTTON "&Скасувати", IDCANCEL, 140, 70, 50, 15, WS_GROUP | WS_TABSTOP
}
IDD_HYPERLINK DIALOG 0, 0, 250, 65

View File

@ -30,21 +30,6 @@ STRINGTABLE
{
IDS_HTMLDISABLED "HTML 功能目前已被停用."
IDS_HTMLDOCUMENT "HTML 文件"
IDS_DOWNLOADING "正在下载..."
IDS_INSTALLING "正在安装..."
}
ID_DWL_DIALOG DIALOG 0, 0, 260, 95
STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Wine Gecko 安装"
FONT 9, "MS Shell Dlg"
{
LTEXT "Wine 未找到到用于支持嵌入 HTML 的 Gecko 引擎。Wine 可以自动并下载安装它。\n\n" \
"注意: 推荐您安装为发行版定制的软件包。具体参看 http://wiki.winehq.org/Gecko。",
ID_DWL_STATUS, 10, 10, 240, 50, SS_LEFT
CONTROL "进度", ID_DWL_PROGRESS, PROGRESS_CLASSA, WS_BORDER|PBS_SMOOTH, 10, 40, 240, 12
DEFPUSHBUTTON "安装(&I)", ID_DWL_INSTALL, 200, 70, 50, 15, WS_GROUP | WS_TABSTOP
PUSHBUTTON "取消(&C)", IDCANCEL, 140, 70, 50, 15, WS_GROUP | WS_TABSTOP
}
IDD_HYPERLINK DIALOG 0, 0, 250, 65
@ -78,21 +63,6 @@ STRINGTABLE
{
IDS_HTMLDISABLED "HTML 功能目前已被停用."
IDS_HTMLDOCUMENT "HTML 檔案"
IDS_DOWNLOADING "正在下載..."
IDS_INSTALLING "正在安裝..."
}
ID_DWL_DIALOG DIALOG 0, 0, 260, 85
STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
CAPTION "Wine Gecko 安裝"
FONT 9, "MS Shell Dlg"
{
LTEXT "這個運用程式要顯示一個HTML 網頁. Wine 需要裝上 Gecko (Mozilla HTML " \
"engine)才能顯示HTML網頁. 如果你想自動下載和安裝Gecko" \
"請按'安裝'.", ID_DWL_STATUS, 10, 10, 240, 30, SS_LEFT
CONTROL "Progress", ID_DWL_PROGRESS, PROGRESS_CLASSA, WS_BORDER|PBS_SMOOTH, 10, 40, 240, 12
DEFPUSHBUTTON "安裝(&I)", ID_DWL_INSTALL, 200, 60, 50, 15, WS_GROUP | WS_TABSTOP
PUSHBUTTON "取消(&C)", IDCANCEL, 140, 60, 50, 15, WS_GROUP | WS_TABSTOP
}
IDD_HYPERLINK DIALOG 0, 0, 250, 65

View File

@ -1,497 +0,0 @@
/*
* Copyright 2006-2007 Jacek Caban for CodeWeavers
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include "config.h"
#include <stdarg.h>
#include <fcntl.h>
#ifdef HAVE_UNISTD_H
# include <unistd.h>
#endif
#define COBJMACROS
#define NONAMELESSUNION
#define NONAMELESSSTRUCT
#include "windef.h"
#include "winbase.h"
#include "winuser.h"
#include "winreg.h"
#include "ole2.h"
#include "commctrl.h"
#include "advpub.h"
#include "wininet.h"
#include "shellapi.h"
#include "wine/debug.h"
#include "wine/unicode.h"
#include "wine/library.h"
#include "mshtml_private.h"
#include "resource.h"
WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
#ifdef __i386__
#define GECKO_ARCH "x86"
#elif defined(__x86_64__)
#define GECKO_ARCH "x86_64"
#else
#define GECKO_ARCH ""
#endif
#define GECKO_FILE_NAME "wine_gecko-" GECKO_VERSION "-" GECKO_ARCH ".cab"
static const WCHAR mshtml_keyW[] =
{'S','o','f','t','w','a','r','e',
'\\','W','i','n','e',
'\\','M','S','H','T','M','L',0};
static HWND install_dialog = NULL;
static LPWSTR url = NULL;
static void set_status(DWORD id)
{
HWND status = GetDlgItem(install_dialog, ID_DWL_STATUS);
WCHAR buf[64];
LoadStringW(hInst, id, buf, sizeof(buf)/sizeof(WCHAR));
SendMessageW(status, WM_SETTEXT, 0, (LPARAM)buf);
}
static void set_registry(LPCSTR install_dir)
{
WCHAR mshtml_key[100];
LPWSTR gecko_path;
HKEY hkey;
DWORD res, len;
static const WCHAR wszGeckoPath[] = {'G','e','c','k','o','P','a','t','h',0};
static const WCHAR wszWineGecko[] = {'w','i','n','e','_','g','e','c','k','o',0};
memcpy(mshtml_key, mshtml_keyW, sizeof(mshtml_keyW));
mshtml_key[sizeof(mshtml_keyW)/sizeof(WCHAR)-1] = '\\';
MultiByteToWideChar(CP_ACP, 0, GECKO_VERSION, sizeof(GECKO_VERSION),
mshtml_key+sizeof(mshtml_keyW)/sizeof(WCHAR),
(sizeof(mshtml_key)-sizeof(mshtml_keyW))/sizeof(WCHAR));
/* @@ Wine registry key: HKCU\Software\Wine\MSHTML\<version> */
res = RegCreateKeyW(HKEY_CURRENT_USER, mshtml_key, &hkey);
if(res != ERROR_SUCCESS) {
ERR("Faild to create MSHTML key: %d\n", res);
return;
}
len = MultiByteToWideChar(CP_ACP, 0, install_dir, -1, NULL, 0)-1;
gecko_path = heap_alloc((len+1)*sizeof(WCHAR)+sizeof(wszWineGecko));
MultiByteToWideChar(CP_ACP, 0, install_dir, -1, gecko_path, len+1);
if (len && gecko_path[len-1] != '\\')
gecko_path[len++] = '\\';
memcpy(gecko_path+len, wszWineGecko, sizeof(wszWineGecko));
res = RegSetValueExW(hkey, wszGeckoPath, 0, REG_SZ, (LPVOID)gecko_path,
len*sizeof(WCHAR)+sizeof(wszWineGecko));
heap_free(gecko_path);
RegCloseKey(hkey);
if(res != ERROR_SUCCESS)
ERR("Failed to set GeckoPath value: %08x\n", res);
}
static BOOL install_cab(LPCWSTR file_name)
{
HMODULE advpack;
char install_dir[MAX_PATH];
HRESULT (WINAPI *pExtractFilesA)(LPCSTR,LPCSTR,DWORD,LPCSTR,LPVOID,DWORD);
LPSTR file_name_a;
DWORD res;
HRESULT hres;
static const WCHAR wszAdvpack[] = {'a','d','v','p','a','c','k','.','d','l','l',0};
TRACE("(%s)\n", debugstr_w(file_name));
GetSystemDirectoryA(install_dir, sizeof(install_dir));
strcat(install_dir, "\\gecko\\");
res = CreateDirectoryA(install_dir, NULL);
if(!res && GetLastError() != ERROR_ALREADY_EXISTS) {
ERR("Could not create directory: %08u\n", GetLastError());
return FALSE;
}
strcat(install_dir, GECKO_VERSION);
res = CreateDirectoryA(install_dir, NULL);
if(!res && GetLastError() != ERROR_ALREADY_EXISTS) {
ERR("Could not create directory: %08u\n", GetLastError());
return FALSE;
}
advpack = LoadLibraryW(wszAdvpack);
pExtractFilesA = (void *)GetProcAddress(advpack, "ExtractFiles");
/* FIXME: Use unicode version (not yet implemented) */
file_name_a = heap_strdupWtoA(file_name);
hres = pExtractFilesA(file_name_a, install_dir, 0, NULL, NULL, 0);
FreeLibrary(advpack);
heap_free(file_name_a);
if(FAILED(hres)) {
ERR("Could not extract package: %08x\n", hres);
return FALSE;
}
set_registry(install_dir);
return TRUE;
}
static BOOL install_from_unix_file(const char *file_name)
{
LPWSTR dos_file_name;
int fd;
BOOL ret;
static WCHAR * (CDECL *wine_get_dos_file_name)(const char*);
static const WCHAR kernel32W[] = {'k','e','r','n','e','l','3','2','.','d','l','l',0};
fd = open(file_name, O_RDONLY);
if(fd == -1) {
TRACE("%s not found\n", debugstr_a(file_name));
return FALSE;
}
close(fd);
if(!wine_get_dos_file_name)
wine_get_dos_file_name = (void*)GetProcAddress(GetModuleHandleW(kernel32W), "wine_get_dos_file_name");
if(wine_get_dos_file_name) { /* Wine UNIX mode */
dos_file_name = wine_get_dos_file_name(file_name);
if(!dos_file_name) {
ERR("Could not get dos file name of %s\n", debugstr_a(file_name));
return FALSE;
}
} else { /* Windows mode */
UINT res;
WARN("Could not get wine_get_dos_file_name function, calling install_cab directly.\n");
res = MultiByteToWideChar( CP_ACP, 0, file_name, -1, 0, 0);
dos_file_name = heap_alloc (res*sizeof(WCHAR));
MultiByteToWideChar( CP_ACP, 0, file_name, -1, dos_file_name, res);
}
ret = install_cab(dos_file_name);
heap_free(dos_file_name);
return ret;
}
static BOOL install_from_registered_dir(void)
{
char *file_name;
HKEY hkey;
DWORD res, type, size = MAX_PATH;
BOOL ret;
/* @@ Wine registry key: HKCU\Software\Wine\MSHTML */
res = RegOpenKeyW(HKEY_CURRENT_USER, mshtml_keyW, &hkey);
if(res != ERROR_SUCCESS)
return FALSE;
file_name = heap_alloc(size+sizeof(GECKO_FILE_NAME));
res = RegGetValueA(hkey, NULL, "GeckoCabDir", RRF_RT_ANY, &type, (PBYTE)file_name, &size);
if(res == ERROR_MORE_DATA) {
file_name = heap_realloc(file_name, size+sizeof(GECKO_FILE_NAME));
res = RegGetValueA(hkey, NULL, "GeckoCabDir", RRF_RT_ANY, &type, (PBYTE)file_name, &size);
}
RegCloseKey(hkey);
if(res != ERROR_SUCCESS || (type != REG_SZ && type != REG_EXPAND_SZ)) {
heap_free(file_name);
return FALSE;
}
strcat(file_name, GECKO_FILE_NAME);
TRACE("Trying %s\n", debugstr_a(file_name));
ret = install_from_unix_file(file_name);
heap_free(file_name);
return ret;
}
static BOOL install_from_default_dir(void)
{
const char *data_dir, *subdir;
char *file_name;
int len, len2;
BOOL ret;
if((data_dir = wine_get_data_dir()))
subdir = "/gecko/";
else if((data_dir = wine_get_build_dir()))
subdir = "/../gecko/";
else
return FALSE;
len = strlen(data_dir);
len2 = strlen(subdir);
file_name = heap_alloc(len+len2+sizeof(GECKO_FILE_NAME));
memcpy(file_name, data_dir, len);
memcpy(file_name+len, subdir, len2);
memcpy(file_name+len+len2, GECKO_FILE_NAME, sizeof(GECKO_FILE_NAME));
ret = install_from_unix_file(file_name);
heap_free(file_name);
if (!ret)
ret = install_from_unix_file( GECKO_DATADIR "/wine/gecko/" GECKO_FILE_NAME);
if (!ret && strcmp( GECKO_DATADIR, "/usr/share" ))
ret = install_from_unix_file("/usr/share/wine/gecko/" GECKO_FILE_NAME);
return ret;
}
static HRESULT WINAPI InstallCallback_QueryInterface(IBindStatusCallback *iface,
REFIID riid, void **ppv)
{
if(IsEqualGUID(&IID_IUnknown, riid) || IsEqualGUID(&IID_IBindStatusCallback, riid)) {
*ppv = iface;
return S_OK;
}
return E_INVALIDARG;
}
static ULONG WINAPI InstallCallback_AddRef(IBindStatusCallback *iface)
{
return 2;
}
static ULONG WINAPI InstallCallback_Release(IBindStatusCallback *iface)
{
return 1;
}
static HRESULT WINAPI InstallCallback_OnStartBinding(IBindStatusCallback *iface,
DWORD dwReserved, IBinding *pib)
{
set_status(IDS_DOWNLOADING);
return S_OK;
}
static HRESULT WINAPI InstallCallback_GetPriority(IBindStatusCallback *iface,
LONG *pnPriority)
{
return E_NOTIMPL;
}
static HRESULT WINAPI InstallCallback_OnLowResource(IBindStatusCallback *iface,
DWORD dwReserved)
{
return E_NOTIMPL;
}
static HRESULT WINAPI InstallCallback_OnProgress(IBindStatusCallback *iface, ULONG ulProgress,
ULONG ulProgressMax, ULONG ulStatusCode, LPCWSTR szStatusText)
{
HWND progress = GetDlgItem(install_dialog, ID_DWL_PROGRESS);
if(ulProgressMax)
SendMessageW(progress, PBM_SETRANGE32, 0, ulProgressMax);
if(ulProgress)
SendMessageW(progress, PBM_SETPOS, ulProgress, 0);
return S_OK;
}
static HRESULT WINAPI InstallCallback_OnStopBinding(IBindStatusCallback *iface,
HRESULT hresult, LPCWSTR szError)
{
if(FAILED(hresult)) {
ERR("Binding failed %08x\n", hresult);
return S_OK;
}
set_status(IDS_INSTALLING);
return S_OK;
}
static HRESULT WINAPI InstallCallback_GetBindInfo(IBindStatusCallback *iface,
DWORD* grfBINDF, BINDINFO* pbindinfo)
{
/* FIXME */
*grfBINDF = 0;
return S_OK;
}
static HRESULT WINAPI InstallCallback_OnDataAvailable(IBindStatusCallback *iface, DWORD grfBSCF,
DWORD dwSize, FORMATETC* pformatetc, STGMEDIUM* pstgmed)
{
ERR("\n");
return E_NOTIMPL;
}
static HRESULT WINAPI InstallCallback_OnObjectAvailable(IBindStatusCallback *iface,
REFIID riid, IUnknown* punk)
{
ERR("\n");
return E_NOTIMPL;
}
static const IBindStatusCallbackVtbl InstallCallbackVtbl = {
InstallCallback_QueryInterface,
InstallCallback_AddRef,
InstallCallback_Release,
InstallCallback_OnStartBinding,
InstallCallback_GetPriority,
InstallCallback_OnLowResource,
InstallCallback_OnProgress,
InstallCallback_OnStopBinding,
InstallCallback_GetBindInfo,
InstallCallback_OnDataAvailable,
InstallCallback_OnObjectAvailable
};
static IBindStatusCallback InstallCallback = { &InstallCallbackVtbl };
static LPWSTR get_url(void)
{
HKEY hkey;
DWORD res, type;
DWORD size = INTERNET_MAX_URL_LENGTH*sizeof(WCHAR);
DWORD returned_size;
LPWSTR url;
static const WCHAR wszGeckoUrl[] = {'G','e','c','k','o','U','r','l',0};
static const WCHAR httpW[] = {'h','t','t','p'};
static const WCHAR arch_formatW[] = {'?','a','r','c','h','='};
static const WCHAR v_formatW[] = {'&','v','='};
/* @@ Wine registry key: HKCU\Software\Wine\MSHTML */
res = RegOpenKeyW(HKEY_CURRENT_USER, mshtml_keyW, &hkey);
if(res != ERROR_SUCCESS)
return NULL;
url = heap_alloc(size);
returned_size = size;
res = RegQueryValueExW(hkey, wszGeckoUrl, NULL, &type, (LPBYTE)url, &returned_size);
RegCloseKey(hkey);
if(res != ERROR_SUCCESS || type != REG_SZ) {
heap_free(url);
return NULL;
}
if(returned_size > sizeof(httpW) && !memcmp(url, httpW, sizeof(httpW))) {
DWORD len;
len = strlenW(url);
memcpy(url+len, arch_formatW, sizeof(arch_formatW));
len += sizeof(arch_formatW)/sizeof(WCHAR);
len += MultiByteToWideChar(CP_ACP, 0, GECKO_ARCH, sizeof(GECKO_ARCH), url+len, size/sizeof(WCHAR)-len)-1;
memcpy(url+len, v_formatW, sizeof(v_formatW));
len += sizeof(v_formatW)/sizeof(WCHAR);
MultiByteToWideChar(CP_ACP, 0, GECKO_VERSION, -1, url+len, size/sizeof(WCHAR)-len);
}
TRACE("Got URL %s\n", debugstr_w(url));
return url;
}
static DWORD WINAPI download_proc(PVOID arg)
{
WCHAR tmp_dir[MAX_PATH], tmp_file[MAX_PATH];
HRESULT hres;
GetTempPathW(sizeof(tmp_dir)/sizeof(WCHAR), tmp_dir);
GetTempFileNameW(tmp_dir, NULL, 0, tmp_file);
TRACE("using temp file %s\n", debugstr_w(tmp_file));
hres = URLDownloadToFileW(NULL, url, tmp_file, 0, &InstallCallback);
if(FAILED(hres)) {
ERR("URLDownloadToFile failed: %08x\n", hres);
return 0;
}
install_cab(tmp_file);
DeleteFileW(tmp_file);
EndDialog(install_dialog, 0);
return 0;
}
static INT_PTR CALLBACK installer_proc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
switch(msg) {
case WM_INITDIALOG:
ShowWindow(GetDlgItem(hwnd, ID_DWL_PROGRESS), SW_HIDE);
install_dialog = hwnd;
return TRUE;
case WM_COMMAND:
switch(wParam) {
case IDCANCEL:
EndDialog(hwnd, 0);
return FALSE;
case ID_DWL_INSTALL:
ShowWindow(GetDlgItem(hwnd, ID_DWL_PROGRESS), SW_SHOW);
EnableWindow(GetDlgItem(hwnd, ID_DWL_INSTALL), 0);
EnableWindow(GetDlgItem(hwnd, IDCANCEL), 0); /* FIXME */
CreateThread(NULL, 0, download_proc, NULL, 0, NULL);
return FALSE;
}
}
return FALSE;
}
BOOL install_wine_gecko(BOOL silent)
{
HANDLE hsem;
if(!*GECKO_ARCH)
return FALSE;
SetLastError(ERROR_SUCCESS);
hsem = CreateSemaphoreA( NULL, 0, 1, "mshtml_install_semaphore");
if(GetLastError() == ERROR_ALREADY_EXISTS) {
WaitForSingleObject(hsem, INFINITE);
}else {
/*
* Try to find Gecko .cab file in following order:
* - directory stored in GeckoCabDir value of HKCU/Wine/Software/MSHTML key
* - $datadir/gecko/
* - $GECKO_DATADIR/wine/gecko/
* - /usr/share/wine/gecko/
* - download from URL stored in GeckoUrl value of HKCU/Wine/Software/MSHTML key
*/
if(!install_from_registered_dir()
&& !install_from_default_dir()
&& !silent && (url = get_url()))
DialogBoxW(hInst, MAKEINTRESOURCEW(ID_DWL_DIALOG), 0, installer_proc);
}
heap_free(url);
url = NULL;
ReleaseSemaphore(hsem, 1, NULL);
CloseHandle(hsem);
return TRUE;
}

View File

@ -753,7 +753,6 @@ void close_gecko(void);
void register_nsservice(nsIComponentRegistrar*,nsIServiceManager*);
void init_nsio(nsIComponentManager*,nsIComponentRegistrar*);
void release_nsio(void);
BOOL install_wine_gecko(BOOL);
BOOL is_gecko_path(const char*);
HRESULT nsuri_to_url(LPCWSTR,BOOL,BSTR*);

View File

@ -232,6 +232,44 @@ static void register_nscontainer_class(void)
nscontainer_class = RegisterClassExW(&wndclass);
}
static BOOL install_wine_gecko(BOOL silent)
{
PROCESS_INFORMATION pi;
STARTUPINFOW si;
WCHAR app[MAX_PATH];
WCHAR *args;
LONG len;
BOOL ret;
static const WCHAR controlW[] = {'\\','c','o','n','t','r','o','l','.','e','x','e',0};
static const WCHAR argsW[] =
{' ','a','p','p','w','i','z','.','c','p','l',' ','i','n','s','t','a','l','l','_','g','e','c','k','o',0};
len = GetSystemDirectoryW(app, MAX_PATH-sizeof(controlW)/sizeof(WCHAR));
memcpy(app+len, controlW, sizeof(controlW));
args = heap_alloc(len*sizeof(WCHAR) + sizeof(controlW) + sizeof(argsW));
if(!args)
return FALSE;
memcpy(args, app, len*sizeof(WCHAR) + sizeof(controlW));
memcpy(args + len + sizeof(controlW)/sizeof(WCHAR)-1, argsW, sizeof(argsW));
TRACE("starting %s\n", debugstr_w(args));
memset(&si, 0, sizeof(si));
si.cb = sizeof(si);
ret = CreateProcessW(app, args, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi);
heap_free(args);
if (ret) {
CloseHandle(pi.hThread);
WaitForSingleObject(pi.hProcess, INFINITE);
CloseHandle(pi.hProcess);
}
return ret;
}
static void set_environment(LPCWSTR gre_path)
{
WCHAR path_env[MAX_PATH], buf[20];

View File

@ -22,18 +22,11 @@
#define IDS_HTMLDISABLED 7500
#define IDS_HTMLDOCUMENT 7501
#define IDS_DOWNLOADING 7502
#define IDS_INSTALLING 7503
#define NUM_STATUS_STRINGS 2
#define IDS_STATUS_DOWNLOADINGFROM 7550
#define IDS_STATUS_DONE 7551
#define ID_DWL_DIALOG 7600
#define ID_DWL_PROGRESS 7601
#define ID_DWL_INSTALL 7602
#define ID_DWL_STATUS 7603
#define ID_PROMPT_DIALOG 7700
#define ID_PROMPT_PROMPT 7701
#define ID_PROMPT_EDIT 7702