Windows 7 encuentra la ubicación del programa instalado

26

Por lo general, en Windows XP, si quisiera saber la ubicación de un programa instalado, simplemente haría clic en 'Propiedades' y mostraría dónde se encuentra el ejecutable.

En Windows 7, hago lo mismo y obtengo esto:

texto alternativo

¿Cómo puedo averiguar dónde se encuentran los programas en función del acceso directo? Sin embargo, noté que para algunos programas muestra un acceso directo debajo del 'Destino', pero no en el caso de iTunes, por ejemplo.

7wp
fuente
Para aquellos que vienen aquí que no tienen un atajo, solo busquen en el registro como lo describe Marcelo Trejo a continuación
icc97

Respuestas:

21

Lo que está viendo son atajos especiales llamados atajos anunciados. Los accesos directos realmente enlazan a msiexec.execuál es el ejecutable de Windows Installer. Los accesos directos anunciados permiten a los autores del instalador instalar solo partes de su aplicación y luego instalar piezas adicionales cuando se accede a ellas a través del acceso directo anunciado. Windows Installer también verifica automáticamente la integridad de todos los archivos instalados cada vez que se ejecuta la aplicación, por lo que puede estar seguro de que la aplicación es válida cuando se ejecuta.

Aquí hay una pregunta de desbordamiento de pila con un poco más de información sobre los accesos directos anunciados.

Encontrar el ejecutable que finalmente se ejecuta el acceso directo no es una tarea simple e implicaría un poco de excavación en el registro. La sugerencia de Hugh es probablemente mucho más simple.

pesado
fuente
Bonito detalle de apoyo allí +1 de mí
Joe Taylor
Esta es una gran respuesta para el ejemplo utilizado, pero no responde a la pregunta original que es "Windows 7 encuentra la ubicación del programa instalado" De alguna manera esto se convirtió en "accesos directos anunciados" Solo quiero averiguar dónde está ubicado un programa para que yo pueda puedo moverlo desde mi unidad c: a otra unidad que tenga espacio (o quiero ejecutar el programa desde la línea de comando por cualquier razón) He aprendido que MS elige ocultar la ruta subyacente por varias razones, UNA de las cuales es esta cosa del "enlace del anunciante" donde literalmente no hay un camino.
Malcolm Anderson
17

Me he preguntado lo mismo para algunos atajos en win XP. Traté de Cygwin s' readshortcut, pero no me dijo el verdadero objetivo:

$ 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.

Entonces, obviamente, tienen algo que ver con Windows Installer. Para encontrar el ejecutable, siempre puede ejecutarlo y usar Process Explorer para obtener la ruta, en mi caso C:\Program Files\Microsoft Office2K\Office\WINWORD.EXE,.

Hugh Allen
fuente
77
+1 y funciona, pero esto es terrible para la seguridad. Si una aplicación sospechosa se abrió paso en una computadora, y desea saber a qué apunta el acceso directo sin ejecutarla realmente, Microsoft debería haberlo simplificado. Pero nos dejaron a nuestros propios dispositivos saltando a través de aros. ¿Cómo podemos incluso guiar a la abuelita por teléfono para que haga esto? Rant sobre
7wp
7

Tuve un problema similar y pude usar el Administrador de tareas ( Ctrl- Alt- DeleteIniciar el Administrador de tareas ) para encontrar la aplicación (después de abrirla) en la pestaña Aplicaciones .

Haga clic derecho en la aplicación deseada para que aparezca el menú y elija Ir al proceso . Esto muestra qué proceso está asociado con la aplicación en la pestaña Procesos .

Luego, haga clic derecho en el proceso para que aparezca el menú y elija Propiedades o Abrir ubicación de archivo para obtener más información.

usuario207224
fuente
6

Para aquellos que buscan hacer esto en PowerShell sin usar un módulo:

$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))
usuario334199
fuente
necesitamos respuestas de moar como esta ... WOO POWERSHELL
Nacht - Reinstate Monica
2

Pruebe cualquiera de los siguientes (de los foros de 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 (con la instalación de este módulo de Windows Installer )

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

Abra regedity busque el nombre del programa. Tomará unos pocos "buscar de nuevo" ( F3) pero eventualmente encontrará la carpeta.

En mi caso, estaba bajo HKEY_CLASSES_ROOT\Applications\<name of app>\shell\open\command

Marcelo Trejo
fuente
También de esta respuesta SO - miraHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths
icc97
0

Si tiene activo el Control de cuentas de usuario, cuando aparece el cuadro UAC pidiendo Permitir, Cancelar, a menudo ve otra flecha desplegable (ignorada por muchos) debajo con el título "Detalles". Si hace clic en Detalles, debería ver la ubicación real del objetivo.

PD: si recuerdo que este problema se remonta más allá de Windows 7, incluso más allá de XP, para ganar 98 donde hacer clic derecho en el acceso directo, seleccionar propiedades, a menudo no mostraría el objetivo. Luego tuvimos que iniciar la aplicación, abrir el administrador de tareas, hacer clic derecho en la aplicación en la lista, seleccionar ir al proceso, hacer clic con el botón derecho en el proceso, seleccionar la ubicación del archivo abierto (o, a veces, las propiedades). Ahora UAC hace menos pasos.

usuario503911
fuente
0

Un truco que puede funcionar es este: Inicie CMD y ejecute:

dir C: \ iTunes / s / b

Informaría cualquier archivo o directorio llamado exactamente "iTunes" (no distingue entre mayúsculas y minúsculas). Si tiene más de una unidad fija, puede ser necesario repetirla también para esa unidad.

O bien, puede crear un archivo en la "carpeta desconocida" (aquí: iTunes), luego busque ese archivo en el disco:

dir C: \ * número de archivo de prueba1 * / s / b

TVC
fuente
-1

La forma más sencilla de averiguar el lugar de un ejecutable:

  1. Busque el programa en el menú Inicio y muévalo al escritorio con el botón derecho del mouse. Esto crea un enlace.
  2. Coloque el puntero sobre el enlace y haga clic con el botón derecho del mouse. Seleccione "Propiedades"
  3. En esa pantalla tienes la ruta completa al ejecutable. Copie al búfer y péguelo cuando lo necesite.
usuario396877
fuente
Encontrar el programa en el menú de inicio anula el propósito. Además, encontrarlo en el menú de inicio muchas veces le mostrará un "Acceso directo anunciado" en lugar del acceso directo directo. La pregunta original era cómo obtener el shorctut directo al ejecutable físico desde el tipo especial "Acceso directo anunciado".
7wp
Para mis propósitos, esta fue la mejor respuesta. Por qué tiene un rango de -2 (en este momento, 28 de abril de 2018) No lo sé. La información sobre los enlaces del anunciante fue interesante, y ahora sé que puedo eliminar ese correo no deseado, y ya no tengo que encontrar la aplicación porque no está en mi disco duro. En ocasiones, solo quiero poder navegar al archivo ejecutable. Este consejo (mover acceso directo al escritorio haciendo clic con el botón derecho y verificar las propiedades de ESO) es útil y estoy votando porque me ayudó.
Malcolm Anderson