Najlepszy sposób wdrożenia aplikacji Visual Studio, która może działać bez instalacji

Napisałem dość prostą aplikację z C#/. Net i nie mogę znaleźć dobrego sposobu, aby ją opublikować. Jest to rodzaj "narzędzia", które użytkownicy uruchamialiby tylko raz lub co kilka miesięcy. Z tego powodu mam nadzieję, że istnieje sposób, w jaki mogę go wdrożyć, gdzie nie trzeba go instalować, aby uruchomić (można go po prostu uruchomić, klikając dwukrotnie plik EXE bezpośrednio po pobraniu).

Jednak nadal musi (jakoś) zawierać poprawną wersję.NET, biblioteki itp. więc będzie działać prawidłowo. Wiem, że jest to wliczone przy użyciu ClickOnce, ale to nadal instaluje aplikację na komputerze użytkownika.

Czy można to zrobić w jakiś sposób?

EDIT - \ bin\Debug

myAppName.application
myAppName.exe
myAppName.exe.config
myAppName.exe.manifest
myAppName.pdb
myAppName.vshost.application
myAppName.vshost.exe
myAppName.vshost.exe.config
myAppName.vshost.exe.manifest
extraLibrary.dll

Oraz dwa foldery

app.publish
Resources
Author: Wilson, 2013-06-05

2 answers

Jest to możliwe i jest zwodniczo łatwe:

  1. "Opublikuj" aplikację (np. do jakiegoś folderu na dysku C), albo z menu Build albo z właściwości projektu → Publish. Spowoduje to utworzenie instalatora dla aplikacji ClickOnce .
  2. Ale zamiast używać produkowanego instalatora, znajdź produkowane Pliki (plik EXE i .config, .manifest i .pliki aplikacji , wraz z dowolnymi plikami DLL, itd.)- wszystkie znajdują się w tym samym folderze i zazwyczaj znajdują się w folderze bin\Debug poniżej pliku projektu (.csproj ).
  3. spakuj ten folder (pomiń dowolny *.vhost.* pliki i folder app.publish (nie są potrzebne), orazpliki pdb, chyba że przewidujesz debugowanie bezpośrednio w systemie użytkownika (na przykład za pomocą pilota)) i dostarczysz je użytkownikom.

Dodatkową zaletą jest to, że jako aplikacja ClickOnce nie wymaga uprawnień administracyjnych do Uruchom (jeśli aplikacja postępuje zgodnie z normalnymi wytycznymi dotyczącymi folderów, których ma używać DANE aplikacji, itd.).

Jeśli chodzi o.net, możesz sprawdzić minimalną wymaganą wersję. NET zainstalowaną (lub w ogóle) w aplikacji (większość użytkowników już ją zainstalowała) i przedstawić okno dialogowe z linkiem do strony pobierania w witrynie Microsoft (lub wskazać jedną ze stron, które mogłyby przekierować na stronę Microsoft - dzięki temu będzie ona bardziej wytrzymała, jeśli zmieni się Adres URL Microsoft). Jak to jest jest to małe narzędzie, które może być kierowane na. Net 2.0, aby zmniejszyć prawdopodobieństwo, że użytkownik będzie musiał zainstalować .NET.

To działa. Używamy tej metody podczas opracowywania i testowania, aby uniknąć konieczności ciągłego odinstalowywania i instalowania aplikacji, a jednocześnie bycia bardzo blisko tego, jak będzie działać ostateczna aplikacja.
 84
Author: Peter Mortensen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-25 09:47:50

Najpierw musisz opublikować plik przez:

  1. Tworzenie - > publikuj lub klikając prawym przyciskiem myszy projekt w Eksploratorze rozwiązań -> właściwości - > publikuj lub wybierz projekt w Eksploratorze rozwiązań i naciśnij Alt + Enter UWAGA: Jeśli używasz Visual Studio 2013 następnie we właściwościach musisz przejść do BUILD, a następnie musisz wyłączyć definiowanie stałej debugowania i definiowanie stałej śledzenia i jesteś gotowy do pracy. Reprezentacyjne

  2. Zapisz plik do konkretny folder. Znajdź produkowane Pliki (plik EXE i .config, .manifestu, oraz .pliki aplikacji, wraz z dowolnymi plikami DLL itp.)- wszystkie znajdują się w tym samym folderze i zazwyczaj znajdują się w folderze bin\Debug poniżej pliku projektu (.csproj). W Visual Studio są one w folderze pliki aplikacji i wewnątrz, że po prostu trzeba .pliki exe i dll. (Musisz usunąć ClickOnce i inne pliki, a następnie zrobić z tego folderu plik zip i rozprowadzić go.)

Uwaga: Aplikacja ClickOnce instaluje projekt w systemie, ale ma jedną zaletę. Do uruchomienia aplikacji nie są wymagane uprawnienia administracyjne (jeśli aplikacja postępuje zgodnie z normalnymi wytycznymi dotyczącymi folderów, których ma używać DANE aplikacji, itd.).

 1
Author: abe312,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-05-16 08:25:24