Wo können kleine Programme ohne Installer unter Windows installiert werden?

35

Auf der Windows-Plattform werden die meisten großen Anwendungen mit einem eigenen Installationsprogramm geliefert, mit dem Ordner unter C:\Program Files, möglicherweise an anderen Orten, und möglicherweise durch Hinzufügen von Registrierungsschlüsseln usw. eingerichtet werden.

Aber es gibt immer noch einige Tools, die nur aus einem .exeoder vielleicht auch READMEeinem .dlloder zwei bestehen.

Wie soll ich solche Tools installieren? Direkt in C:\Program Files? Alles in einem Unterordner unter C:\Program Files? Irgendwo darunter C:\Users\Me? Irgendwo ganz anders?

Oder vielleicht andere Ansätze für die Werkzeuge mit nur einem .exezu denen, die auch andere Dateien haben, oder vielleicht müssen nur die mit .dlls unterschiedlich behandelt werden ...

Gibt es eine allgemein akzeptierte Möglichkeit, dies zu tun? Eine "Best Practice"? Wenn die Antwort von der Windows-Version abhängt, verwende ich Windows 7.

Insbesondere scheint das, was den Menschen als offensichtliche Antwort einfällt, einen Haken zu haben:

Ich hatte versucht, manuell neue Unterordner unter zu erstellen C:\Program Files. Eigentlich dachte ich, ich hätte das schon einmal gemacht, aber Windows zeigt ein Dialogfeld an, in dem der Zugriff auf Zielordner verweigert wird . Dies ließ mich zweimal überlegen, anstatt blind auf Weiter zu klicken .

Zugriff auf Zielordner verweigert

Unter der Annahme, dass im Laufe der Jahre mehr Menschen als ich darauf gestoßen sind, möchte ich die Community fragen, ob eine Art "Best Practice" akzeptiert wurde.

Hippietrail
quelle
3
Aus welcher Sicht stellen Sie diese Frage? Handelt es sich um eine Anwendung, die Sie schreiben, oder versuchen Sie, die Anwendung (en) einer anderen Person zu installieren?
Harry Johnston
2
@ HarryJohnston: Es ist für die Installation von Anwendungen anderer Leute. Neulich habe ich mehrere Programme heruntergeladen, mit denen sehr große Dateien angezeigt oder bearbeitet werden können, und einige hatten keine Installationsprogramme. Gleiches gilt jedoch auch für die meisten Befehlszeilentools unter Windows, von denen ich mehrere habe.
Hippietrail
@UltraDEVV: Ich möchte wissen, ob andere dieses Problem in Betracht gezogen und sich für eine "Best Practice" entschieden haben. Ich möchte wissen, welche Lösungen es gibt, bevor C:\Program Filesich mich für eine Installation in oder an einem anderen Ort entscheide. Außerdem möchte ich Informationen zu einer möglichen Barriere für C:\Program Fileseine offensichtliche Lösung bereitstellen .
Hippietrail
Also lies meine! superuser.com/a/815831/354352
UltraDEVV
@UltraDEVV: Ich habe deine bereits gelesen und habe bereits dafür gestimmt. Es ist cool zu sehen, wie diese Frage nach dreieinhalb Jahren Pause wieder zum Leben erweckt wird!
Hippietrail

Antworten:

25

Verwenden C:\Tools

oder C:\Users\<user>\Tools
 

Ich verwende viele kleine Programme ohne Installationsprogramm und empfehle Folgendes:

  • Speichern Sie sie alle in C:\Tools
  • Wenn ein Programm aus einer einzelnen Datei besteht, legen Sie es direkt unter C:\Tools
  • Wenn ein Programm aus mehreren Dateien besteht, legen Sie es unter C:\Tools\ProgramName
  • SysInternals-Tools haben eine spezielle Kategorie, C:\Tools\_SysInternalsda es viele davon gibt

Ich bewege mich C:\Toolsbeim Migrieren einfach von Maschine zu Maschine, das funktioniert wie ein Zauber.

Praxisbeispiel (verkürzte Auflistung):

C: \ Tools \ autoexec-raised.bat
C: \ Tools \ cleanup.bat
C: \ Tools \ BabelMap.exe
C: \ Tools \ netmon.exe
C: \ Tools \ notifu.exe
C: \ Tools \ putty.exe
C: \ Tools \ UDPixel.exe
C: \ Tools \ battery.vbs

C: \ Tools \ 3dclip-1.5.1 \
C: \ Tools \ Alternatestreamview \
C: \ Tools \ blender-2.71-windows64 \
C: \ Tools \ Notepad ++ \
C: \ Tools \ QueryExpress \
C: \ Tools \ winscp555 \
C: \ Tools \ Xinorbis \

C: \ Tools \ _Sysinternals \ accesschk \
C: \ Tools \ _Sysinternals \ Autoruns \
C: \ Tools \ _Sysinternals \ depend22_x64 \
C: \ Tools \ _Sysinternals \ depend22_x86 \
C: \ Tools \ _Sysinternals \ LogonSessions \

Ich hoffe das gibt eine Idee.

EDIT: Erweiterte Infos

Ich nehme an, dass in Ihrer Frage unter install Wie soll ich solche Tools installieren? Du meinst eigentlich die manuelle Einrichtung, so etwas wie das Kopieren der Dateien.

Faustregel: Verwenden Sie manuell erstellte Ordner für manuell verwaltete Dateien. Lassen Sie Systemordner von (Installations-) Prozessen verwendet werden, die Sie nicht direkt steuern. Sie können sofort erkennen, welcher Inhalt Ihnen gehört (und Sie können ihn frei kopieren) und welche Anwendung vom Installationsprogramm verwaltet wird.

Halten Sie sich also bei der manuellen Installation (durch Kopieren) von fern

  • C:\Program Files - Programme, die hier zu finden sind, können nicht einfach migriert werden, sondern müssen neu installiert werden (ein guter Hinweis für die Migration)
  • C:\Program Files (x86) - wie oben, aber auf 64-Bit-Systemen werden hier 32-Bit-Programme angezeigt (kann einen Hinweis geben, um festzustellen, ob es sich bei einer bestimmten App um eine 32-Bit- oder eine 64-Bit-App handelt).
  • C:\ProgramData- Die hier gefundenen Anwendungsspeicher zeigen, dass diese Programme einige ihrer Daten auf ihre eigene Weise verwalten. Aber Sie haben gefragt, ob Sie Ihre Programme unter Daten stellen möchten? Keine gute Idee.
  • C:\Users\Steven\AppData- Auch hier ist es keine gute Idee , Programme unter Daten zu setzen . Wenn Sie nach Daten gefragt haben, können mehrere interessante Dinge über diesen Pfad geschrieben werden. Aber für Programme einfach "nein". :)

Möglicher Pfad

  • C:\Users\Steven- kann Ihr alternatives Stammverzeichnis sein, wenn es sich um einen gemeinsam genutzten Computer handelt und Sie diesen aufgeräumt halten möchten, sodass Sie keine globalen Verzeichnisse erstellen. Sie können C:\Users\Steven\Toolsfür Ihre Programme in Betracht ziehen oder auch, C:\Users\Steven\Desktop\Toolswenn Sie den komfortablen Desktop- Ordnerzugriff verwenden möchten, der über eine Verknüpfung von vielen Stellen in Windows aus verfügbar ist. Besser ist es jedoch, wenn Sie die Verknüpfung zu diesem Ordner auf dem Desktop oder bei Bedarf platzieren.

Bearbeiten: Zusätzlicher nützlicher Hinweis:

Wenn Sie einige Ihrer kleinen Programme erkannt in Windows 10 machen wollen starten Menü (für inkrementelle Suche ihres Namen oder Instant Start erhöht mit Ctrl+ Shift+ Enter), ihre Verknüpfungen dort hinzufügen und sie einmal starten . (Dann können Sie sie entfernen.)

Miroxlav
quelle
Das hört sich gut an, wird es aber durch Best Practices-Dokumentation oder ähnliches unterstützt? Wenn ja, würde es die Antwort wirklich verbessern.
@DoritoStyle - Möglicherweise müssen Sie die aktuellen Best Practices in Ihrem Unternehmen überprüfen. Wenn Sie etwas über allgemeinere Best Practices wissen, lassen Sie es mich bitte wissen und ich werde es überprüfen.
Miroxlav
1
Ich benutze "C: \ Utility", benutze aber ansonsten den gleichen Ansatz!
Jon Schneider
Funktioniert etwas anderes als 'Tools' genauso gut: Wenn ich so etwas wie C:\Otheroder verwenden C:\Users\<user>\Otherwürde, wäre das genauso "legitim" wie 'Tools'?
Henrik
@ Henrik - da es keinen Standard gibt, verwenden Sie, was Ihren Gefühlen entspricht und klar genug ist. Zum Beispiel habe ich versucht, C: \ Progs (Name ruft kleine Programme ohne Installer hervor), aber am Ende des Tages fühlte es sich nicht intuitiv an, und so habe ich den Namen wieder auf Tools zurückgesetzt.
Miroxlav
11

Soweit ich weiß, gibt es keinen universellen Ansatz.

Das Platzieren Ihrer Anwendungen in C:\Program Filesist ein eher standardmäßiger Weg. Und Sie erhalten den Zugriffsschutz : Normale (und nicht erhöhte) Benutzer können nicht schreiben C:\Program Files. Sie können solche Dateien also nicht versehentlich löschen oder überschreiben. und sie sind besser vor Viren geschützt.

Aus diesem Grund wird beim Versuch, einen Ordner in zu erstellen, die Warnung "Elevation Request" angezeigt C:\Program Files.

Daher C:\Program Filesist der sicherste Ort für ausführbare Dateien.

Es ist jedoch nicht für (portable) Apps geeignet, die ihre Konfiguration in der Nähe von speichern, .exeda sie die Konfigurationsänderungen nicht speichern können.


C:\ProgramDataDient zum Speichern von Anwendungsdaten, die von Benutzern gemeinsam genutzt werden. Standardmäßig können alle Benutzer hier Dateien und Ordner erstellen, aber nur der Benutzer, der sie erstellt hat, kann die Dateien ändern.

Dieser Ordner kann problemlos für freigegebene Apps / Tools verwendet werden. Gleichzeitig habe ich in diesem Ordner noch nie eine App gesehen.


Wenn Sie Apps in Ihr Benutzerprofil einfügen, C:\Users\<username>haben andere Benutzer des Systems keinen Zugriff darauf. Sie haben alle Berechtigungen für Ihr Profil, sodass Sie keine Sicherheitswarnung erhalten. Das ist der Grund, warum Chrome in das Profil des Nutzers installiert wird: Es kann sich leicht selbst aktualisieren, ohne nach einer Erhöhung zu fragen.

Im Benutzermodus werden Windows Installer-Pakete und .msi-Dateien in installiert C:Users\<username>\AppData\Microsoft\Installer\<ProductId>. Daher ist es Standard, nicht freigegebene Apps im Benutzerprofil zu belassen.

Ich habe utilsOrdner in meinem Benutzerprofil mit Apps, die nur für mich nützlich sind. Dieser Ordner wird zur PATHUmgebungsvariablen meines Benutzers hinzugefügt, um den Zugriff zu vereinfachen.

Für freigegebene Apps verwende ich ein C:\toolsoder ein ähnliches Verzeichnis, möglicherweise auf einem anderen Laufwerk. Es wird zur globalen PATHVariablen hinzugefügt .

Alexey Ivanov
quelle
7

Ich stimme bereits gegebenen Antworten zu einem bestimmten Punkt zu. Aber für wirklich kleine Programme (Utils) neige ich dazu, sie in den Ordner bin zu verschieben (in meinem Fall E: \ bin). Diese Programme sind normalerweise einzelne exe-Dateien oder meine eigenen Python-Skripte. Ich füge diesen Ordner der PATH-Variablen hinzu, damit ich dieses Programm von der Kommandozeile aus benutzen kann (was ich normalerweise ziemlich oft benutze).

Del-Boy
quelle
Ich habe auch überlegt, ein Generikum C:\Program Files\binfür diese Arten von Tools und Dienstprogrammen zu erstellen. Danke für die Rückmeldung.
Hippietrail
5

Soweit ich weiß, gibt es keine Best Practices. Es liegt wirklich an Ihnen, individuell zu entscheiden, wie Sie damit umgehen möchten.

Ich neige dazu, dem gleichen Standard zu folgen wie jede Anwendung mit einem Installer. Wenn es sich um eine ausführbare Datei oder Bibliothek handelt, würde ich sie entweder in \Program Files\64Bit oder Program Files (x86)\in 32Bit ablegen.

Datendateien, die ich Usersnormalerweise in meinen Ordnern speichere , sind normalerweise benutzerspezifisch.

Es gibt auch Anwendungen wie Google Chrome und Click-Once-Anwendungen, die Users\AppData\bereitgestellt werden. Diese sind jedoch normalerweise nicht für mehrere Profile verfügbar.

Ich bevorzuge die erste Methode, da ich immer noch auf die Anwendungen zugreifen kann, wenn ich mich in einem anderen Profil oder als Administrator anmelden muss.

In Bezug auf die Erlaubnis Warnung. Es ist genau das, eine Warnung . Es soll Sie lediglich davor warnen, den Ordner aus falschen Gründen zu verwenden, hindert Sie jedoch nicht daran, ihn zu verwenden.

BinaryMisfit
quelle
4
Ich empfehle, Anwendungen nicht manuell im Ordner "Programme" zu installieren, da Anwendungen ohne Installationsprogramm häufig älter sind oder Ports von anderen Betriebssystemen verwenden, sodass sie nicht immer gut mit dem Speicherplatz im Pfad zurechtkommen. YMMV.
Harry Johnston
3
Ich empfehle, nichts manuell zu installieren %ProgramFiles%, aber aus einem anderen Grund: Anwendungen ohne Installer sind häufig portabel, und Sie haben dort keine Schreibberechtigung
kinokijuf
4

Wenn Sie diese Anwendungen standardisieren möchten, sollten Sie die Chocolatey- Paketstandards verwenden. Das ist aus vielen verschiedenen Gründen gut; Vor allem, weil ein Großteil der Software bereits für Sie gepackt wurde und mit wenigen Befehlen von überall aus installiert werden kann.

Es ist auch einfach, eigene Pakete für Anwendungen zu erstellen, die Sie nicht frei verteilen können. Sie haben wahrscheinlich das Recht, alles, was Sie besitzen, in Ihrem eigenen Netzwerk zu verbreiten. Für diese Anwendungen können Sie ein lokales Repository einrichten . Wenn Sie viele Computer verwalten oder über eine begrenzte Internetbandbreite verfügen, kann dies sogar für die kostenlosen Inhalte hilfreich sein.

krowe
quelle
2

Wenn Sie die Standardinstallationsoptionen von cygwin wählen, werden alle Ihre Dateien unter c: \ cygwin abgelegt. Ich würde den gleichen Ansatz verfolgen. Ich persönlich habe den Ordner ac: \ apps. In der Vergangenheit habe ich c: \ utils und c: \ cli (kurz für Kommandozeile) verwendet. Es hängt wirklich davon ab, wie Sie Ihre Dateien organisieren möchten. Ich würde für einzelne Dienstprogramme vorschlagen, um sie in einem Sammelordner zu platzieren. Für eine Reihe von Dienstprogrammen (z. B. cygwin, sysinternals, rktools) kann ich einen eigenen Unterordner vorschlagen. Beispielsweise können Sie alle Sysinternals in c: \ apps \ sysinternals einfügen. Wenn Sie cygwin installieren, werden die meisten (wenn nicht alle) der von Ihnen geliebten Unix-Befehle benötigt.

Denken Sie daran, Ihre Umgebungsvariablen zu ändern (Start> Systemsteuerung> System> Erweitert> Umgebungsvariablen) und neue Anwendungspfade an Ihre PATH-Systemvariable anzuhängen. Auf diese Weise können Sie sie bei Bedarf über die Eingabeaufforderung oder mithilfe von Windows + R (Befehl ausführen) ausführen.

Sonne
quelle
5
Ich denke, Cygwin-Entwickler interessieren sich nicht für Windows-Standards und es ist falsch, ihre schlechte Angewohnheit zu kopieren (Ordner im Stammverzeichnis zu erstellen). Ich fühle mich wie das Erstellen eines \Program FilesVerzeichnisses unter Linux.
Kamil
Ich weiß nicht, warum das eine schlechte Sache wäre. Cygwin ist für eine Unix-Umgebung. Warum sollte Cygwin Windows-Standards erfüllen, wenn sie für Benutzer gedacht sind, die Unix-Tools verwenden möchten?
So,
@Sun genau! OP fragte nach Windows-Best Practices.
1

C:\Users\Me\toolName(auch bekannt als% homepath% \ toolName) ist der richtige Ort, an dem die Tools abgelegt werden, sofern Sie dies für den MeBenutzer wünschen, da einige dieser Tools (temporäre) Dateien schreiben und die Erlaubnis des Benutzers benötigen, um in den Program filesOrdner zu schreiben . Ein weiteres Plus ist, dass Sie nicht vergessen werden, eine Sicherungskopie zu erstellen, da sich diese bereits im Benutzerbereich befindet.

Elazaron
quelle
2
Ich würde %homepath%' rather than c: \ users \ me` verwenden. Dies zeigt auf den richtigen Ort, auch wenn der Standardort verschoben wurde, und ist daher portabler. +1 für den Schreib- / Temp-Teil.
Hennes
Ich stehe korrigiert und bearbeitet in dem Grund, warum es hinzugefügt und nicht ersetzt wurde, ist mit den gleichen Begriffen wie die Frage zu beantworten, danke Hennes :)
Elazaron
0

Hierfür gibt es keine Regeln. Sie können sie installieren, wo immer Sie möchten. Die Installation auf Ihrer OSP (Operating System Partition) in einem Nicht-Benutzer-Ordner ist jedoch im Allgemeinen eine gute Idee, da Sie den gleichen Zugriffsschutz erhalten hast du noch andere anwendungen; Dies erschwert das versehentliche Löschen oder Ändern durch Dritte (z. B. Virus).

Persönlich stelle ich das Programm normalerweise in "C: \ Programme (x86)", da die meisten dieser Programme 32-Bit-Programme sind, aber wenn es ein 64-Bit-Programm wäre, würde ich es in C: \ Programme platzieren. Wenn es sich um ein systembezogenes Programm handelt (z. B. Imagex.exe), wird es für 32-Bit-Programme in "C: \ Windows \ system32" und für 64-Bit-Programme in "C: \ Windows \ system32" abgelegt, um einen einfacheren Zugriff zu ermöglichen Befehlszeile beim Ausführen von Eingabeaufforderungen mit erhöhten Rechten, da Sie standardmäßig in C: \ Windows \ system32 "starten; Dies bedeutet, dass Sie "name.exe" anstelle von "C: \ location \ name.exe" eingeben können, um das Programm auszuführen.

Einige Leute bevorzugen es, ihre tragbaren Programme (die keine Installation erfordern oder unbeaufsichtigte Änderungen außerhalb ihres Ordners vornehmen) und nicht auf dem Installationsprogramm basierende (nicht tragbare, aber keine Verwendung eines Installationsprogramms erfordern) Programme von regulären Programmen zu trennen, indem sie ein neues Verzeichnis erstellen Unter OSP (z. B .: C: \ Portable Program Files (x86) oder C: \ Dumpable Program Files (x86). Ich würde die 2. von 2 empfehlen, da sie genauer ist, auch wenn sie nicht so klingt ziemlich.

Zusammenfassend lässt sich sagen, dass es keine Regeln gibt. Wenn Sie diese jedoch im OSP (in einem Nichtbenutzerordner) installieren, können Sie das Programm vor unerwünschten Deinstallationen / Änderungen (einschließlich böswilliger Änderungen) und unter bestimmten Umständen schützen Organisation kann von Vorteil sein (z. B. der zuvor erwähnte Ordner system32 für System-CLI-Programme).

Robin Hood
quelle
1
Ich denke, Sie haben die Frage grundlegend falsch verstanden. Der erste Teil der ursprünglichen Frage lautet "Best Practice", nicht "Was sind die Regeln".
Steven Penny
@StevenPenny Überhaupt nicht, nur eine andere Formulierung. Der Punkt der Frage ist Gründe, X zu tun oder X nicht zu tun.
Robin Hood
Ich habe mir einfach etwas ausgedacht, das mir gefällt: Etcoder Etceterawenn Sie es lieber mit echtem Stiefmütterchenlatein mögen . Auf einem knappen zweiten Platz habe ich auch überlegt Misc. Aber Etcdas Geschäft für mich besiegelt. :)
Henrik
0

Ich halte es für die beste Option , eine Verknüpfung zu C:\Toolsim Send ToMenü in Windows zu erstellen, da immer und überall darauf zugegriffen werden kann. Auf diese Weise könnten Sie „installieren“ Ihre kleine Programme schnell durch Rechtsklick auf sie und wählen Sie Werkzeuge aus dem Menü Senden an von überall in Windows.

Ich habe dieses Tutorial über das Hinzufügen zum Menü Senden an von HowToGeek erhalten.
Ich füge die Zusammenfassung ein:

Um zum SendTo-Ordner zu gelangen, müssen Sie ein Explorer-Fenster öffnen und Folgendes in die Adressleiste einfügen.

% APPDATA% \ Microsoft \ Windows \ SendTo

Fügen Sie dann die Verknüpfung des Ordners ein, in den Ihre Programme kopiert werden sollen.

Dann extrahieren Sie jedes Mal, wenn Sie eine neue tragbare App herunterladen, diese und senden Sie sie an diesen Ort.
Das einzige Problem ist die Erstellung von Verknüpfungen, die es meiner Meinung nach wert sind, manuell ausgeführt zu werden.
Grüße.

UltraDEVV
quelle
Der Ordner " Senden an " eignet sich nicht wirklich als Speicherort für die Installation eines Programms. Es hat einen bestimmten Zweck, nämlich das Senden von Dateien / Dokumenten zur weiteren Bearbeitung durch ein Programm (z. B. Öffnen einer Datei im Editor) zu ermöglichen. Außerdem werden alle Dateien im Ordner "Senden an" im Windows-Kontextmenü angezeigt, einschließlich der unterstützten DLLs. Dies ist in den meisten Fällen eindeutig nicht wünschenswert.
Ich sage Reinstate Monica
1
Sieht so aus, als hätten Sie und alle Downvoter nicht verstanden, was ich meinte. Ich meine, Sie können beispielsweise eine Verknüpfung C:\Tools\ zu einem Send ToOrdner hinzufügen und von jedem Ort darauf zugreifen, an dem Sie nicht die Mühe haben, jedes Ihrer Programme manuell zu kopieren. Meine Antwort wird wahrscheinlich den Prozess des Umgangs mit anderen Dingen beschleunigen, die andere lesen. Das funktioniert bei mir super.
UltraDEVV
Ich habe eine Bearbeitung vorgenommen, um diese zusätzliche Klarstellung in Ihre Antwort aufzunehmen. Die Antworten werden auf der Grundlage der Antwort nach oben / unten bewertet, nicht unbedingt anhand der in den Kommentaren enthaltenen Details. Hoffentlich hilft dies.
Ich sage Reinstate Monica
Nein. Ab Windows Vista befindet sich die %APPDATA%Variable im Stammverzeichnis. %USERPROFILE%\AppData\RoamingDaher ist der oben angegebene Pfad für Windows 7 korrekt. In Windows XP müssten Sie den Roaming-Ordner jedoch wie angegeben hinzufügen.
Ich sage Reinstate Monica
Wenn Sie glauben, dass Ihre Frage nicht klar ist, sollten Sie sie klären. Warum haben Sie zwei Antworten eingereicht?
Ramhound
0

Die Standard-Systempfad-Umgebungsvariable in Windows sieht ungefähr so ​​aus (abhängig von der installierten Windows-Version):

%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\

Von diesen Optionen C:/scheint % SystemRoot% (was normalerweise der Fall ist ) die beste Wahl für Sie zum Lesen / Schreiben zu sein, und es wird später einfacher, darauf zu verweisen.


quelle