* would *not* be Windows root disks. (RHBZ#674130)
*/
else if (is_file_nocase (g, "/AUTOEXEC.BAT") > 0 ||
- is_dir_nocase (g, "/WINDOWS") > 0 ||
- is_dir_nocase (g, "/WIN32") > 0 ||
- is_dir_nocase (g, "/WINNT") > 0 ||
+ is_dir_nocase (g, "/WINDOWS/SYSTEM32") > 0 ||
+ is_dir_nocase (g, "/WIN32/SYSTEM32") > 0 ||
+ is_dir_nocase (g, "/WINNT/SYSTEM32") > 0 ||
is_file_nocase (g, "/boot.ini") > 0 ||
is_file_nocase (g, "/ntldr") > 0) {
fs->is_root = 1;
fs->windows_systemroot);
char *software_path = case_sensitive_path_silently (g, software);
- if (!software_path)
- /* If the software hive doesn't exist, just accept that we cannot
- * find product_name etc.
- */
- return 0;
+ if (!software_path) {
+ /* Missing software hive is a problem. */
+ error (g, "no HKLM\\SOFTWARE hive found in the guest");
+ return NULL;
+ }
struct guestfs_application_list *apps = NULL, *ret = NULL;
hive_h *h = NULL;