If you used the “state activate” command, or the one-liner which has “state activate” embedded in the powershell command, did you tell the state tool that you wanted to use C:\Program Files as the root folder for your project, as this user did here?:
When “state activate” asks for a folder to place your project into, it is not asking you where you want Perl to go. You don’t get any choice about where Perl will go with an activate command. It will always go to your AppData folders to provide a virtual environment that only you can use. What activate is asking is where you want to store your local copy of the Project config file. Conceptually, this is similar to storing a local copy of a GitHub project. If you attempt to use a folder that is write-protected from your userID, you’ll get the message you are seeing.
It’s very likely that you want to use a different command for the purpose you have in mind. See the command reference doc, for the “state deploy” command.