title: Publishing VS 2019 .Net Core Application to User who Doesn't Have .Net Core
body: <p>I discovered the joy of publishing instead of using an installer package (which I do use for my older VS2015 solutions targeting .Net Framework).</p>
  <p>Using all defaults, I was able to publish my application to a folder, then copied all 34 files/folders to the permanent home of this app.  I chose a folder in the C: root. This all works fine, and when I call this new application from my MS Access application, it works perfectly.</p>
  <p>Now the problem occurs when I deploy the program to my user's PC.  I do this by copying the entire folder off the C:\ folder to his C:\ folder.</p>
  <p>When we run the MSAccess app, which runs the new console app by using the Shell command, the console app does not run.  No error is generated, and I do not know if the Shell command is returning a helpful response code or not.</p>
  <p>I believe the issue is that customer does NOT have .Net Core 3.1 installed. When I was publishing a platform-specific version and choosing .Net Core 3.1, the application was expecting that framework to be already installed on the user's PC (which it's not).</p>
  <p>I read this article about deploying self-contained applications.</p>
  <blockquote>
  <p><a href="https://docs.microsoft.com/en-us/dotnet/core/deploying/deploy-with-vs?tabs=vs157" rel="nofollow noreferrer">https://docs.microsoft.com/en-us/dotnet/core/deploying/deploy-with-vs?tabs=vs157</a></p>
  </blockquote>
  <p>When I followed the instructions to publish a self-contained application, I ended up with 12 or 14 items only, none of which was the EXE for my program.  There IS an apphost.exe with the same size as the program exe the old publish method used to create.</p>
  <p>What am I doing wrong?  Thanks...</p>
  <p>Update:</p>
  <p>I figured out how to publish the application, using the self-contained option.  This created a much larger deployment, as expected.  After copying this to customer's PC, it still didn't work.  When I tried running it via a command window, it mentioned missing DLLs. Sorry, couldn't save DLL names.  Now I wonder if it's best to go back to publishing a platform-dependent version, then have .Net Core 3.1 installed on customer's PC before retrying the application??  Thanks...</p>