Witam, co robiliście żeby aplikacja uruchamiała się na w miarę każdym komputerze. Ostatnio napisałem aplikację w Windows Forms i uruchomiłem ją na kilku komputerach następnie uruchomiłem ją na komputerze kolegi i nie pokazał się ekran główny. Jak naprawiać takie rzeczy.
Jak ją zainstalowałeś u niego?
Po pierwsze jaka wersja .NET?
Najprościej przez instalator który dba o to by wszystkie zależności aplikacji były zainstalowane na docelowym komputerze. Do prostych apek, które nie mają zależności do zewnętrznych bibliotek, tylko korzystają z .NET runtime, wystarczy domyślny instalator ClickOnce. W sytuacji gdy brakuje runtime to instalator może go pobrać i zainstalować automatycznie.
W .NET Core i jego następcy .NET 6 jest funkcja self-contained application. Pozwala ona na zbudowanie paczki dystrybucyjnej, która zawiera wszystkie wymagane pliki i wersje środowiska.
W zasadzie to przekopiowałem program na komputer kolegi. Posiadam Visual Studio 2019 czy ta wersja Visuala posiada ClickOnce ?
Skompiluj jako aplikację self-contained:
dotnet publish -p:PublishSingleFile=true -c Release -r win-x64 --self-contained
Sprawdź u tego kolegi czy coś jest w zdarzeniach systemowych.
Podgląd Zdarzeń > Zdarzenia Windows > Aplikacja i wpisy z ikonką czerwonego wykrzyknika.
Może na chwile uruchamia się proces aplikacji i od razu leci jakiś wyjątek i się program wysypuje.
Prawdopodobnie brakuje runtime do uruchomienia. Self-contained nie działa w .NET Framework, tylko w .NET Core (np. .NET 6)