@joebigelow / wix-1 / commits / 0e7fa933

Use MSFTEDIT_CLASS for Rich Edit control when available.

Sean Hall committed Apr 28, 2021 at 19:31 UTC 0e7fa93306858a9adde5b64ede920492632ba9e6
3 files changed +18 -6
global.json
+1 -1
@@ -1,6 +1,6 @@
1 {
2 "msbuild-sdks": {
3 - "WixToolset.Sdk": "4.0.0-build-0211"
3 + "WixToolset.Sdk": "4.0.0-build-0213"
4 },
5 "sdk": {
6 "allowPrerelease": false
src/ca/PrintEula.cpp
+15 -3
@@ -32,6 +32,7 @@ static void ShowErrorMessage(__in HRESULT hr);
32 //Global variables
33 PRINTDLGEXW* vpPrintDlg = NULL; //Parameters for print (needed on both sides of WndProc callbacks)
34 LPSTR vpszEulaText = NULL;
35 +LPCWSTR vwzRichEditClass = NULL;
36 HRESULT vhr = S_OK; //Global hr, used by the functions called from WndProc to set errorcode
37
38
@@ -72,8 +73,18 @@ extern "C" UINT __stdcall PrintEula(MSIHANDLE hInstall)
73 ExitOnFailure(hr, "failed to read Eula text from MSI database");
74
75 // Have to load Rich Edit since we'll be creating a Rich Edit control in the window
75 - hr = LoadSystemLibrary(L"Riched20.dll", &hRichEdit);
76 - ExitOnFailure(hr, "failed to load rich edit 2.0 library");
76 + hr = LoadSystemLibrary(L"Msftedit.dll", &hRichEdit);
77 + if (SUCCEEDED(hr))
78 + {
79 + vwzRichEditClass = MSFTEDIT_CLASS;
80 + }
81 + else
82 + {
83 + hr = LoadSystemLibrary(L"Riched20.dll", &hRichEdit);
84 + ExitOnFailure(hr, "failed to load rich edit 2.0 library");
85 +
86 + vwzRichEditClass = RICHEDIT_CLASSW;
87 + }
88
89 hr = CreateRichTextWindow(&hWndMain, &fRegisteredClass);
90 ExitOnFailure(hr, "failed to create rich text window for printing");
@@ -113,6 +124,7 @@ LExit:
124 ::UnregisterClassW(WINDOW_CLASS, NULL);
125 }
126
127 + vwzRichEditClass = NULL;
128 if (NULL != hRichEdit)
129 {
130 ::FreeLibrary(hRichEdit);
@@ -242,7 +254,7 @@ LRESULT CALLBACK WndProc(
254 switch (message)
255 {
256 case WM_CREATE:
245 - hWndRichEdit = ::CreateWindowExW(WS_EX_CLIENTEDGE, RICHEDIT_CLASSW, L"", ES_MULTILINE | WS_CHILD | WS_VISIBLE | WS_VSCROLL, CONTROL_X_COORDINATE, CONTROL_Y_COORDINATE, CONTROL_WIDTH, CONTROL_HEIGHT, hWnd, NULL, NULL, NULL);
257 + hWndRichEdit = ::CreateWindowExW(WS_EX_CLIENTEDGE, vwzRichEditClass, L"", ES_MULTILINE | WS_CHILD | WS_VISIBLE | WS_VSCROLL, CONTROL_X_COORDINATE, CONTROL_Y_COORDINATE, CONTROL_WIDTH, CONTROL_HEIGHT, hWnd, NULL, NULL, NULL);
258 break;
259 case WM_COMMAND:
260 wmId = LOWORD(wParam);
src/ca/uica.vcxproj
+2 -2
@@ -48,8 +48,8 @@
48 </ItemGroup>
49
50 <ItemGroup>
51 - <PackageReference Include="WixToolset.Dutil" Version="4.0.65" />
52 - <PackageReference Include="WixToolset.WcaUtil" Version="4.0.18" />
51 + <PackageReference Include="WixToolset.Dutil" Version="4.0.72" />
52 + <PackageReference Include="WixToolset.WcaUtil" Version="4.0.19" />
53 <PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0" />
54 <PackageReference Include="Nerdbank.GitVersioning" Version="3.3.37" />
55 </ItemGroup>