Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Code base issue #119

Closed
wants to merge 2 commits into from
Closed

Code base issue #119

wants to merge 2 commits into from

Conversation

cpuwzd
Copy link
Contributor

@cpuwzd cpuwzd commented Feb 18, 2022

The issue to which I refer as the CodeBase Issue, has to do with multiple places within the Wix 4 product that, for one reason or another, attempt to determine the file from which the currently executing code was loaded. One of the situations in which this might occur includes a vast number of system-level tests with names that begin with "CanBuild". This can happens when the test needs to find wixnative.exe or WixToolset.Sdk.props. Here, we are generally looking at a system that has built the Wix 4 product, but there might be scenarios in which these tests might be run during or after the installation of Wix 4 on a machine that is, for our purposes, only used to create installation packages and never used to build Wix 4, itself. Such tests might be run from the command line or from Visual Studio.
Beyond these tests, there might be other scenarios in which the Wix 4 product wants to know from where it was loaded. There are a couple of problems with trying to determine how a particular piece of code got loaded into the current process. The current code relies on either on a .NET Framework 4.72 API or a .NET Core 3.1 API, neither of which is available in .NET Core 5.0 or later. In .NET Core 5.0 and later, you can't dpend on much that is operating-system dependent.
We need a classification of all the scenarios in which this situation arises that recognizes the actual problem that is currently being solved (or perhaps just being attacked) by using knowledge of the image source. Then we need a way to provide the necessary knowledge where it is needed.
When tests are run from disposable file systems, the actual path to the loaded image is typically in the temp directory of the user account running the test. This is very different from a non-test situation.
I'm sure that I don't grasp all of the issues involved, but I have been looking at this issue (among others) for at least nine months. I think that it is time for some guidance from and decision making by those holding the keys to the realm.

@github-actions
Copy link

CLA Assistant Lite bot:
Thank you for your submission, we really appreciate it. Like many open-source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution. You can sign the CLA by just posting a Pull Request Comment same as the below format.


I have read the CLA Document and I hereby sign the CLA


You can retrigger this bot by commenting recheck in this Pull Request

@robmen
Copy link
Member

robmen commented Feb 18, 2022

I'm a little confused. I know finding the Codebase mechanism changed in .NET 5 but everything is working correctly right now. Why do we need this change?

Also correct a recurring syntax error with unidentified consequences.
We can't determine the file path from which the executing code was loaded.
@cpuwzd cpuwzd closed this Mar 20, 2022
@cpuwzd cpuwzd deleted the CodeBaseIssue branch March 20, 2022 18:47
@github-actions github-actions bot locked and limited conversation to collaborators Mar 20, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
2 participants