You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -73,6 +74,7 @@ We will refactor `Build/Src/FwBuildTasks/RegFreeCreator.cs` to derive all necess
73
74
1.**`FwUtils.dll.MANIFEST` Validity**: The trace explicitly fails after parsing this file. It is likely generated with `processorArchitecture="msil"` or `type="win32"`, which conflicts with the x64 `FieldWorks.exe` process or other manifests in the context.
74
75
2.**Conflicting Identities**: If `FwUtils.dll` is referenced as a dependency in `FieldWorks.exe.manifest` but the side-by-side manifest (`FwUtils.dll.MANIFEST`) declares a slightly different identity (e.g., different version or token), activation will fail.
75
76
3.**Empty Manifest**: The wildcard generation might be creating a valid-looking but semantically empty or malformed manifest for `FwUtils.dll` if it doesn't export COM types as expected, causing the loader to reject it.
77
+
4.**Filename Mismatch**: Windows SxS requires the manifest filename to match the `assemblyIdentity` name. `RegFree.targets` was generating `FwUtils.dll.manifest` but the identity was `FwUtils`.
76
78
77
79
#### Primary Fix Strategy
78
80
**Implement Task 3.1**: Removing the wildcard for managed assemblies will stop `FwUtils.dll.MANIFEST` from being generated. This forces the loader to use standard .NET probing, which is the correct behavior for this assembly and eliminates the conflict source.
@@ -95,7 +97,13 @@ We will refactor `Build/Src/FwBuildTasks/RegFreeCreator.cs` to derive all necess
95
97
-[x]**Task 3.3**: Fix Managed COM Assembly Manifests.
96
98
-*Action*: Explicitly add `FwUtils.dll`, `SimpleRootSite.dll`, `ManagedVwDrawRootBuffered.dll`, `ManagedLgIcuCollator.dll`, `ManagedVwWindow.dll` to `ManagedComAssemblies` in `RegFree.targets`.
97
99
-*Action*: Ensure `Platform="$(Platform)"` is used to generate `amd64` manifests for x64 builds.
98
-
-*Status**: Completed. Manifests regenerated with `type="win64"` and `processorArchitecture="amd64"`.
100
+
-*Action*: Ensure manifest filenames match Assembly Identity (e.g., `FwUtils.manifest` instead of `FwUtils.dll.manifest`).
101
+
-*Status*: Completed. Manifests regenerated with `type="win64"`, `processorArchitecture="amd64"`, and correct filenames.
99
102
100
103
-[ ]**Task 3.4**: Standardize EXE Integration.
101
104
-*Action*: Audit other EXEs (`LCMBrowser.exe`, `UnicodeCharEditor.exe`) and ensure they import `RegFree.targets` with the same explicit configuration.
105
+
106
+
## Follow-up Tasks (Post-SxS Fix)
107
+
108
+
-[ ]**Run full test suite:** Ensure that the changes to manifest naming do not affect other parts of the system.
109
+
-[ ]**Check other projects:** Verify if any other projects use `RegFree.targets` and if they are also working correctly.
0 commit comments