Windows 7 localizando localização do programa instalado

26

Geralmente no Windows XP, se eu quisesse saber a localização de um programa instalado, basta clicar em 'Propriedades' e ele mostraria onde o executável está localizado.

No Windows 7, faço a mesma coisa e recebo o seguinte:

texto alternativo

Como posso descobrir onde os programas estão localizados com base no atalho? No entanto, notei que, para alguns programas, ele mostra um atalho sob o 'Target', mas não no caso do iTunes, por exemplo.

7wp
fonte
Para quem vem aqui sem um atalho - basta pesquisar no registro, conforme descrito por Marcelo Trejo abaixo
icc97 19/16

Respostas:

21

O que você está vendo são atalhos especiais chamados Atalhos anunciados. Na verdade, os atalhos vinculados ao msiexec.exequal é o executável do Windows Installer. Os atalhos anunciados permitem que os autores do instalador instalem apenas partes de seus aplicativos e depois instalem partes adicionais quando acessadas pelo atalho anunciado. O Windows Installer também verifica automaticamente a integridade de todos os arquivos instalados sempre que o aplicativo é executado, para garantir que ele seja válido quando for executado.

Aqui está uma pergunta sobre estouro de pilha com mais informações sobre os atalhos anunciados.

Encontrar o executável que o atalho eventualmente executa não é uma tarefa simples e envolveria algumas investigações no registro. A sugestão de Hugh é provavelmente muito mais simples.

pesado
fonte
Bom detalhe de suporte lá +1 de mim
Joe Taylor
Esta é uma ótima resposta para o exemplo usado, mas não está respondendo à pergunta original, que é "Windows 7, localizando o programa instalado". De alguma forma, isso se tornou "atalhos anunciados". Eu só quero descobrir onde um programa está localizado para que eu pode movê-lo da minha unidade c: para outra unidade que tenha espaço (ou eu quero executar o programa na linha de comando por qualquer motivo). Aprendi que o MS escolhe ocultar o caminho subjacente por vários motivos, um dos quais é esse "link do anunciante", onde literalmente não há um caminho.
Malcolm Anderson
17

Eu me perguntei o mesmo para alguns atalhos no win XP. Eu tentei o Cygwin , readshortcutmas não me disse o verdadeiro alvo:

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

Portanto, obviamente, eles têm algo a ver com o Windows Installer. Para encontrar o executável, você sempre pode executá-lo e usar o Process Explorer para obter o caminho - no meu caso C:\Program Files\Microsoft Office2K\Office\WINWORD.EXE,.

Hugh Allen
fonte
7
+1 e funciona, mas isso é terrível para a segurança. Se um aplicativo suspeito surgisse em um computador e você quisesse saber o que o atalho aponta sem executá-lo, a Microsoft deveria ter simplificado isso. Mas foram deixados por nossos próprios dispositivos, pulando através de aros. Como podemos orientar a pequena avó por telefone para fazer isso? Rant sobre
7wp
7

Eu tive um problema semelhante e pude usar o Gerenciador de tarefas ( Ctrl- Alt- DeleteIniciar o Gerenciador de tarefas ) para encontrar o aplicativo (após a abertura) na guia Aplicativos .

Clique com o botão direito do mouse no aplicativo desejado para abrir o menu e escolha Ir para o processo . Isso mostra qual processo está associado ao aplicativo na guia Processos .

Em seguida, clique com o botão direito do mouse no processo para abrir o menu e escolha Propriedades ou Abrir local do arquivo para saber mais.

user207224
fonte
6

Para aqueles que desejam fazer isso no PowerShell sem usar um 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))
user334199
fonte
precisamos de respostas moar como esta ... WOO POWERSHELL
Nacht - Reinstate Monica
2

Experimente um dos seguintes (nos fóruns do 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 (com a instalação deste módulo do Windows Installer )

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

Abra regedite pesquise o nome do programa. Levará poucas "pesquisas novamente" ( F3), mas eventualmente você encontrará a pasta.

No meu caso, estava sob HKEY_CLASSES_ROOT\Applications\<name of app>\shell\open\command

Marcelo Trejo
fonte
Também nesta resposta para SO - procure emHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths
icc97 19/04/19
0

Se você tiver o Controle de conta de usuário ativo, quando a caixa do UAC aparecer solicitando Permitir, Cancelar, muitas vezes você verá outra seta suspensa (ignorada por muitos) sob ela, com o título "Detalhes". Se você clicar em Detalhes, deverá ver a localização real do alvo.

PS: se bem me lembro, esse problema remonta ao Windows 7, mesmo no XP, para ganhar 98, onde clicar com o botão direito do mouse no atalho, selecionar propriedades, geralmente não mostrava o destino. Em seguida, tivemos que iniciar o aplicativo, abrir o gerenciador de tarefas, clicar com o botão direito do mouse na lista, selecionar ir para o processo, clicar com o botão direito do mouse, selecionar o local do arquivo aberto (ou, às vezes, as propriedades). Agora, o UAC faz menos etapas.

user503911
fonte
0

Um truque que pode funcionar é o seguinte: Inicialize o CMD e execute:

dir C: \ iTunes / s / b

Ele reportaria qualquer arquivo ou diretório chamado exatamente "iTunes" (não diferencia maiúsculas de minúsculas). Se você tiver mais de uma unidade fixa, pode ser necessário repeti-la também.

Ou, você pode criar um arquivo na "pasta desconhecida" (aqui: iTunes) e procurar esse arquivo no disco:

dir C: \ * testfilenumber1 * / s / b

TVC
fonte
-1

A maneira mais simples de descobrir o local de um executável:

  1. Encontre o programa no menu Iniciar e mova-o para a área de trabalho usando o botão direito do mouse. Isso cria um link.
  2. Coloque o ponteiro sobre o link e clique com o botão direito do mouse. Selecione "Propriedades"
  3. Nessa tela, você tem o caminho completo para o executável. Copie para buffer e cole sempre que precisar.
user396877
fonte
Encontrar o programa no menu Iniciar anula o objetivo. Além disso, encontrá-lo várias vezes no menu Iniciar exibirá um "Atalho anunciado" em vez do atalho direto. A pergunta original era como obter o shorctut direto para o executável físico do tipo especial "Anunciado atalho".
7wp 9/12/14
Para meus propósitos, essa foi a melhor resposta. Por que tem uma classificação de -2 (no momento, 28 de abril de 2018), não sei. As informações sobre os links dos anunciantes eram interessantes e agora eu sei que posso excluir esse spam e não preciso mais encontrar o aplicativo porque ele não está no meu disco rígido. Por vezes, eu só quero poder navegar para o arquivo executável. Esta dica (mova o atalho para a área de trabalho com o botão direito do mouse - e verifique as propriedades do THAT) é útil e estou votando nela porque me ajudou.
Malcolm Anderson