Windows 7 recherche l'emplacement du programme installé

26

Habituellement sur Windows XP, si je voulais connaître l'emplacement d'un programme installé, je cliquerais simplement sur «Propriétés» et cela montrerait où se trouve l'exécutable.

Sur Windows 7, je fais la même chose et j'obtiens ceci:

texte alternatif

Comment puis-je savoir où se trouvent les programmes en fonction du raccourci? J'ai cependant remarqué que pour certains programmes, il montre un raccourci sous la «cible», mais pas dans le cas avec iTunes par exemple.

7wp
la source
Pour ceux qui viennent ici qui n'ont pas de raccourci - il suffit de chercher dans le registre comme indiqué par Marcelo Trejo ci
icc97

Réponses:

21

Ce que vous voyez sont des raccourcis spéciaux appelés raccourcis publiés. Les raccourcis sont en fait liés à msiexec.exel'exécutable Windows Installer. Les raccourcis annoncés permettent aux auteurs du programme d'installation d'installer uniquement des parties de leur application, puis d'installer des éléments supplémentaires lorsqu'ils sont accessibles via le raccourci annoncé. Windows Installer vérifie également automatiquement l'intégrité de tous les fichiers installés à chaque exécution de l'application afin que vous puissiez être sûr que l'application est valide lors de son exécution.

Voici une question Stack Overflow avec un peu plus d'informations sur les raccourcis annoncés.

Trouver l'exécutable que le raccourci exécute finalement n'est pas une tâche simple et impliquerait de fouiller dans le registre. La suggestion de Hugh est probablement beaucoup plus simple.

lourd
la source
Un peu de détails de soutien là-bas +1 de moi
Joe Taylor
Ceci est une excellente réponse pour l'exemple utilisé, mais il ne répond pas à la question d'origine qui est "Windows 7 recherche l'emplacement du programme installé" D'une manière ou d'une autre, cela est devenu "des raccourcis annoncés" Je veux juste savoir où se trouve un programme afin que je peut le déplacer de mon lecteur c: vers un autre lecteur disposant d'espace (ou je veux exécuter le programme à partir de la ligne de commande pour une raison quelconque) J'ai appris que MS choisit de masquer le chemin sous-jacent pour diverses raisons, dont l'une est cette chose "lien d'annonceur" où il n'y a littéralement pas de chemin.
Malcolm Anderson
17

Je me suis demandé la même chose pour certains raccourcis sous win XP. J'ai essayé Cygwin de readshortcutmais il ne m'a pas dit la vraie cible:

$ readshortcut.exe -fa "Microsoft Word.lnk"
Target: /cygdrive/c/WINDOWS/Installer/{00000409-78E1-11D2-B60F-006097C998E7}/wordicon.exe
Working Directory:
Arguments:
Show Command: Normal
Icon Library: /cygdrive/c/WINDOWS/Installer/{00000409-78E1-11D2-B60F-006097C998E7}/wordicon.exe
Icon Library Offset: 0
Description: Create and edit text and graphics in letters, reports, Web pages, or e-mail messages by using Microsoft Word.

Ils sont donc évidemment quelque chose à voir avec Windows Installer. Pour trouver l'exécutable, vous pouvez toujours courir juste et à utiliser Process Explorer pour obtenir le chemin - dans mon cas, C:\Program Files\Microsoft Office2K\Office\WINWORD.EXE.

Hugh Allen
la source
7
+1 et cela fonctionne, mais c'est terrible pour la sécurité. Si une application suspecte a fait son chemin sur un ordinateur et que vous vouliez savoir vers quoi le raccourci pointe sans l'exécuter, Microsoft aurait dû simplifier la chose. Mais nous avons été laissés à nous-mêmes en sautant à travers des cerceaux. Comment pouvons-nous même guider la petite vieille grand-mère au téléphone pour ce faire. Rant over
7wp
7

J'ai eu un problème similaire et j'ai pu utiliser le Gestionnaire des tâches ( Ctrl- Alt- DeleteDémarrer le Gestionnaire des tâches ) pour trouver l'application (après l'avoir ouverte) dans l' onglet Applications .

Cliquez avec le bouton droit sur l'application souhaitée pour afficher le menu et choisissez Aller au processus . Cela montre quel processus est associé à l'application dans l' onglet Processus .

Ensuite, cliquez avec le bouton droit sur le processus pour afficher le menu et choisissez Propriétés ou Ouvrir l'emplacement du fichier pour en savoir plus.

user207224
la source
6

Pour ceux qui cherchent à le faire dans PowerShell sans utiliser de module:

$lnk = "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Adobe\Adobe Acrobat X Pro.lnk"
$WindowsInstaller = New-Object -ComObject WindowsInstaller.Installer
$ShortcutTarget = $WindowsInstaller.GetType().InvokeMember("ShortcutTarget","GetProperty",$null,$WindowsInstaller,$lnk)
$StringData1 = $ShortcutTarget.GetType().InvokeMember("StringData","GetProperty",$null,$ShortcutTarget,1)
$StringData3 = $ShortcutTarget.GetType().InvokeMember("StringData","GetProperty",$null,$ShortcutTarget,3)
$WindowsInstaller.GetType().InvokeMember("ComponentPath","GetProperty",$null,$WindowsInstaller,@($StringData1,$StringData3))
user334199
la source
nous avons besoin de réponses moar comme celle-ci ... WOO POWERSHELL
Nacht -
2

Essayez l'une des options ci-dessous (sur les forums Tek-Tips ):

VbScript

' GetRealTarget.vbs
' This version needs to be run under wscript engine rather than cscript

' Pass the full path to an MSI "Advertised Shortcut" lnk file (including the extension) as a parameter
' e.g. assuming that we have a default install of Office 2003 for All Users:
' GetRealTarget "C:\Documents and Settings\All Users\Start Menu\Programs\Microsoft Office\Microsoft Office Excel 2003.lnk" 
' Displays fully resolved target for the MSI shortcut

Option Explicit
Dim MSITarget

On Error Resume Next ' just some simple error handling for purposes of this example
If wscript.arguments.count = 1 Then ' did actually pass an MSI advertised shortcut? Or, at least, a parameter that could be such a thing?
   With CreateObject("WindowsInstaller.Installer")
      Set MSITarget = .ShortcutTarget(wscript.arguments(0))
      If Err = 0 then
         MsgBox .ComponentPath(MSITarget.StringData(1), MSITarget.StringData(3))
      Else 
         MsgBox wscript.arguments(0) & vbcrlf & "is not a legitimate MSI shortcut file or could not be found"
      End If
   End With
End If
On Error Goto 0

PowerShell (avec l'installation de ce module Windows Installer )

get-msiproductinfo | where { $_.ProductState -match "Installed" } | fl AdvertisedProductName, InstallLocation
user66001
la source
2

Ouvrez regeditet recherchez le nom du programme. Il faudra peu de "recherche à nouveau" ( F3) mais vous finirez par trouver le dossier.

Dans mon cas, c'était sous HKEY_CLASSES_ROOT\Applications\<name of app>\shell\open\command

Marcelo Trejo
la source
Aussi de cette réponse SO - regardez dansHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths
icc97
0

Si le contrôle de compte d'utilisateur est actif, lorsque la boîte UAC apparaît pour demander Autoriser, Annuler, vous voyez souvent une autre flèche déroulante (négligée par beaucoup) sous le titre "Détails". Si vous cliquez sur Détails, vous devriez voir l'emplacement réel de la cible.

PS si je me souviens que ce problème remonte bien loin de Windows 7, même après XP, pour gagner 98 où un clic droit sur le raccourci, la sélection des propriétés, ne montrait souvent pas la cible. Ensuite, nous avons dû démarrer l'application, ouvrir le gestionnaire de tâches, cliquer avec le bouton droit dans la liste, sélectionner aller au processus, cliquer avec le bouton droit, sélectionner l'emplacement du fichier ouvert (ou parfois les propriétés). L'UAC permet désormais de réduire le nombre d'étapes.

user503911
la source
0

Une astuce qui peut fonctionner est la suivante: Démarrer CMD et exécuter:

dir C: \ iTunes / s / b

Il rapporterait tout fichier ou répertoire nommé exactement "iTunes" (non sensible à la casse). Si vous disposez de plusieurs lecteurs fixes, il peut être nécessaire de répéter l'opération pour ce lecteur également.

Ou, vous pouvez créer un fichier dans le "dossier inconnu" (ici: iTunes), puis recherchez ce fichier sur le disque:

dir C: \ * testfilenumber1 * / s / b

TVC
la source
-1

La façon la plus simple de trouver la place d'un exécutable:

  1. Recherchez le programme dans le menu Démarrer et déplacez-le sur le bureau à l'aide du bouton droit de la souris. Cela crée un lien.
  2. Placez le pointeur sur le lien et cliquez avec le bouton droit de la souris. Sélectionnez "Propriétés"
  3. Sur cet écran, vous avez le chemin d'accès complet à l'exécutable. Copiez dans le tampon et collez quand vous en avez besoin.
user396877
la source
Trouver le programme dans le menu Démarrer va à l'encontre de l'objectif. De plus, le trouver souvent dans le menu Démarrer vous montrera un "raccourci annoncé" au lieu du raccourci direct. La question initiale était de savoir comment obtenir le raccourci direct vers l'exécutable physique à partir du type spécial "Raccourci annoncé".
7wp
Pour mes besoins, c'était la meilleure réponse. Pourquoi il a un rang de -2 (en ce moment, 28 avril 2018) Je ne sais pas. Les informations sur les liens de l'annonceur étaient intéressantes, et maintenant je sais que je peux supprimer ce spam et ne plus avoir à trouver l'application car elle n'est pas sur mon disque dur. Il y a des moments où je veux juste pouvoir naviguer vers le fichier exécutable. Cette astuce (déplacer le raccourci vers le bureau via un clic droit - et vérifier les propriétés de CELA) est utile et je vote parce qu'elle m'a aidé.
Malcolm Anderson