installer: let's make missing FileID a fatal error

... because the upcoming AutoInstall conversions introduce dependency
from FolderItem to auto-installed executables, and we want to ensure
that that keeps working.

Change-Id: I08d4aeddd28b93f080e201716597315e9a6ec2d6
This commit is contained in:
Michael Stahl 2014-10-28 23:03:56 +01:00
parent 368729decb
commit f3616065a7
4 changed files with 8 additions and 17 deletions

View file

@ -85,6 +85,7 @@ $(eval $(call gb_Helper_register_executables_for_install,OOO,brand, \
soffice_bin \
$(if $(filter DESKTOP,$(BUILD_TYPE)),unopkg_bin) \
$(if $(filter WNT,$(OS)), \
soffice \
unoinfo \
unopkg \
unopkg_com \
@ -139,7 +140,6 @@ $(eval $(call gb_Helper_register_executables,OOO, \
sdraw \
senddoc \
simpress \
soffice \
smath \
sweb \
swriter \

View file

@ -504,16 +504,6 @@ End
#endif
#ifdef WNT
// TODO: some FolderItem reference this?
File gid_Brand_File_Bin_Soffice
BIN_FILE_BODY;
Dir = gid_Brand_Dir_Program;
Name = EXENAME(soffice);
Styles = (PACKED);
End
#endif
#ifdef WNT
File gid_Brand_File_Desktophelper_Txt
TXT_FILE_BODY;

View file

@ -26,8 +26,8 @@ FolderItem gid_Folderitem_LibreOffice
#else
FolderID = gid_Folder_Staroffice51;
#endif
FileID = gid_Brand_File_Bin_Soffice;
IconFile = gid_Brand_File_Bin_Soffice;
FileID = auto_brand_exe_soffice;
IconFile = auto_brand_exe_soffice;
IconID = 0;
WkDir = gid_Brand_Dir_Program;
Parameter = "";
@ -49,8 +49,8 @@ FolderItem gid_Folderitem_Soffice_Desktop
#endif
ModuleID = gid_Module_Root;
FolderID = PREDEFINED_DESKTOP;
FileID = gid_Brand_File_Bin_Soffice;
IconFile = gid_Brand_File_Bin_Soffice;
FileID = auto_brand_exe_soffice;
IconFile = auto_brand_exe_soffice;
IconID = 0;
ComponentIDFile = "gid_Brand_File_Desktophelper_Txt";
WkDir = gid_Brand_Dir_Program;

View file

@ -418,9 +418,10 @@ sub prepare_non_advertised_files
if ( $folderitem->{'ComponentIDFile'} ) { $fileid = $folderitem->{'ComponentIDFile'}; }
my $onefile = installer::worker::find_file_by_id($filesref, $fileid);
# Attention: If $onefile with "FileID" is not found, this is not always an error.
# FileID can also contain an executable file, for example msiexec.exe.
if ( $onefile ne "" ) { $onefile->{'needs_user_registry_key'} = 1; }
else {
installer::exiter::exit_program("ERROR: Did not find FileID $fileid in file collection", "prepare_non_advertised_files");
}
}
}
}