In version ≥ 1.7.8 Windows apps can be listed from virt-inspector:
$ virt-inspector Win7.img
[...]
<applications>
<application>
<name>Mozilla Firefox (3.6.12)</name>
<display_name>Mozilla Firefox (3.6.12)</display_name>
<version>3.6.12 (en-GB)</version>
<install_path>C:\Program Files\Mozilla Firefox</install_path>
[etc]
or from guestfish:
$ guestfish -a Win7.img --ro -i
Welcome to guestfish, the libguestfs filesystem interactive shell for
editing virtual machine filesystems.
Type: 'help' for help on commands
'man' to read the manual
'quit' to quit the shell
Operating system: Windows 7 Enterprise
/dev/vda2 mounted on /
><fs> inspect-list-applications /dev/vda2
[0] = {
app_name: Mozilla Firefox (3.6.12)
app_display_name: Mozilla Firefox (3.6.12)
app_epoch: 0
app_version: 3.6.12 (en-GB)
app_release:
app_install_path: C:\Program Files\Mozilla Firefox
app_trans_path:
app_publisher: Mozilla
app_url: http://www.mozilla.com/en-GB/
app_source_package:
app_summary:
app_description:
}
[1] = {
app_name: VLC media player
app_display_name: VLC media player 1.1.5
app_epoch: 0
app_version: 1.1.5
app_release:
app_install_path: C:\Program Files\VideoLAN\VLC
app_trans_path:
app_publisher: VideoLAN
app_url: http://www.videolan.org/
app_source_package:
app_summary:
app_description:
}
The same API also works for Fedora, RHEL, Debian and Ubuntu guests, where it lists installed packages instead of “applications”.
