Commit a065d6fa authored by Jacek Caban's avatar Jacek Caban Committed by Alexandre Julliard

mshtml: Use wineaddon.cpl to install Gecko.

parent cc361eef
......@@ -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
}
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -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 automticamente e instalarlo para usted.\n\n" \
"Nota: Se recomienda utilizar el paquete para su distribucin si est disponible. " \
"Consulte http://wiki.winehq.org/Gecko para ms 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
......
......@@ -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..."
}
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -47,7 +47,6 @@ C_SRCS = \
htmltextcont.c \
htmltextnode.c \
htmlwindow.c \
install.c \
loadopts.c \
main.c \
mutation.c \
......
......@@ -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
......
......@@ -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
......
......@@ -32,22 +32,6 @@ STRINGTABLE
{
IDS_HTMLDISABLED "Wywietlanie HTML jest aktualnie wyczone."
IDS_HTMLDOCUMENT "Dokument HTML"
IDS_DOWNLOADING "Pobieranie plikw..."
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 prawidowego dziaania aplikacji " \
"zawierajcych kod HTML . Wine moe automatycznie pobra i zainstalowa t paczk dla ciebie.\n\n" \
"Uwaga: Lepiej jednak uy paczki z twojej dystrybucji. Po szczegy zajrzyj na http://wiki.winehq.org/Gecko.",
ID_DWL_STATUS, 10, 10, 240, 50, SS_LEFT
CONTROL "Postp", 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
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -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
......
......@@ -30,25 +30,8 @@ STRINGTABLE
{
IDS_HTMLDISABLED "HTML-visning r inte aktiverad."
IDS_HTMLDOCUMENT "HTML-dokument"
IDS_DOWNLOADING "Hmtar..."
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 krvs fr att program med inbddad HTML " \
"ska fungera korrekt. Wine kan hmta och installera det automatiskt t dig.\n\n" \
"Obs: Du rekommenderas att anvnda din distributions paket i stllet. Se http://wiki.winehq.org/Gecko fr mer information.",
ID_DWL_STATUS, 10, 10, 240, 50, SS_LEFT
CONTROL "Frlopp", 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 "Hyperlnk"
......
......@@ -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
}
......@@ -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
......
......@@ -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
......
/*
* 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;
}
......@@ -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*);
......
......@@ -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];
......
......@@ -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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment