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>