ClickOnce: improve application manifest file detection#773
Draft
ClickOnce: improve application manifest file detection#773
Conversation
…e 0/1 files with a .manifest extension
…correctly parsed so that the existing tests pass
dtivel
commented
Oct 11, 2024
Comment on lines
+301
to
+314
| // there should only be a single result here, if the file is a valid clickonce manifest. | ||
| XmlNodeList dependentAssemblies = xmlDoc.GetElementsByTagName("dependentAssembly"); | ||
| if (dependentAssemblies.Count != 1) | ||
| { | ||
| Logger.LogDebug(Resources.ApplicationManifestNotFound); | ||
| return false; | ||
| } | ||
|
|
||
| XmlNode? node = dependentAssemblies.Item(0); | ||
| if (node is null || node.Attributes is null) | ||
| { | ||
| Logger.LogDebug(Resources.ApplicationManifestNotFound); | ||
| return false; | ||
| } |
Collaborator
Author
There was a problem hiding this comment.
There seems to be a bug here. The comment asserts that there should only be one dependentAssembly element. However, it seems that there can be multiple.
The
dependencyelement is required. It has no attributes. A deployment manifest can have multipledependencyelements.
This means this change would break users with multiple dependency elements. This method needs smarter application manifest identification.
dlemstra
reviewed
Oct 12, 2024
| { | ||
| internal interface IXmlDocumentLoader | ||
| { | ||
| XmlDocument Load(FileInfo file); |
Collaborator
There was a problem hiding this comment.
Wondering why you picked XmlDocument instead of XDocument here.
|
Can confirm this resolved the issue for us with two VSTO applications where manifest signing was failing. |
5 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Resolve #681
This PR replaces #758.
CC @clairernovotny, @javierdlg, @jackmtpt