Some more fixups towards the MsiShortcutProperty table
Change-Id: I961a2c05c175512ee1fb4b0f11d0da1d5eae1c71
This commit is contained in:
@@ -296,6 +296,10 @@ MsiFileHash HashPart2 N Size of file in bytes (long integer).
|
||||
MsiFileHash HashPart3 N Size of file in bytes (long integer).
|
||||
MsiFileHash HashPart4 N Size of file in bytes (long integer).
|
||||
MsiFileHash Options N 0 32767 Various options and attributes for this hash.
|
||||
MsiShortcutProperty MsiShortcutProperty N Identifier Unique identifier for this row of the MsiShortcutProperty table
|
||||
MsiShortcutProperty Shortcut_ N Identifier A key into the Shortcut table that identifies the shortcut having a property set
|
||||
MsiShortcutProperty PropertyKey N Formatted A string value that provides information for the PROPERTYKEY structure
|
||||
MsiShortcutProperty PropVariantValue N Formatted A string value that provides information for the PROPVARIANT structure.
|
||||
ODBCAttribute Attribute N Text Name of ODBC driver attribute
|
||||
ODBCAttribute Driver_ N ODBCDriver 1 Identifier Reference to ODBC driver in ODBCDriver table
|
||||
ODBCAttribute Value Y Text Value for ODBC driver attribute
|
||||
|
@@ -1392,7 +1392,7 @@ sub run {
|
||||
|
||||
installer::windows::upgrade::create_upgrade_table($newidtdir, $allvariableshashref);
|
||||
|
||||
installer::windows::msishortcutproperty::create_msishortcutproperty_table($folderitempropertiesinproductlanguageresolvedarrayref, $folderitemsinproductlanguageresolvedarrayref, $newidtdir);
|
||||
installer::windows::msishortcutproperty::create_msishortcutproperty_table($folderitempropertiesinproductarrayref, $folderitemsinproductlanguageresolvedarrayref, $newidtdir);
|
||||
|
||||
if (( ! $installer::globals::languagepack ) && ( ! $installer::globals::helppack )) # the following tables not for language packs or help packs
|
||||
{
|
||||
|
@@ -109,39 +109,34 @@ sub create_msishortcutproperty_table
|
||||
{
|
||||
my ($folderitempropertiesref, $folderitemsref, $basedir) = @_;
|
||||
|
||||
for ( my $m = 0; $m <= $#{$languagesarrayref}; $m++ )
|
||||
my @msishortcutpropertytable = ();
|
||||
|
||||
installer::windows::idtglobal::write_idt_header(\@msishortcutpropertytable, "msishortcutproperty");
|
||||
|
||||
# The entries defined in scp as FolderItemProperties
|
||||
|
||||
for ( my $j = 0; $j <= $#{$folderitempropertiesref}; $j++ )
|
||||
{
|
||||
my @msishortcutpropertytable = ();
|
||||
my $onelink = ${$folderitempropertiesref}[$j];
|
||||
my %msishortcutproperty = ();
|
||||
|
||||
installer::windows::idtglobal::write_idt_header(\@msishortcutpropertytable, "msishortcutproperty");
|
||||
$msishortcutproperty{'MsiShortcutProperty'} = get_msishortcutproperty_identifier($onelink);
|
||||
$msishortcutproperty{'Shortcut_'} = get_msishorcutproperty_shortcut($onelink, $folderitemsref);
|
||||
$msishortcutproperty{'PropertyKey'} = get_msishortcutproperty_propertykey($onelink);
|
||||
$msishortcutproperty{'PropVariantValue'} = get_msishortcutproperty_propvariantvalue($onelink);
|
||||
|
||||
# The entries defined in scp as FolderItemProperties
|
||||
# These shortcuts will fill the icons table.
|
||||
my $oneline = $msishortcutproperty{'MsiShortcutProperty'} . "\t" . $msishortcutproperty{'Shortcut_'} . "\t"
|
||||
. $msishortcutproperty{'PropertyKey'} . "\t" . $msishortcutproperty{'PropVariantValue'} . "\n";
|
||||
|
||||
for ( my $j = 0; $j <= $#{$folderitempropertiesref}; $j++ )
|
||||
{
|
||||
my $onelink = ${$folderitempropertiesref}[$j];
|
||||
|
||||
my %msishortcutproperty = ();
|
||||
|
||||
$msishortcutproperty{'MsiShortcutProperty'} = get_msishortcutproperty_identifier($onelink);
|
||||
$msishortcutproperty{'Shortcut_'} = get_msishorcutproperty_shortcut($onelink, $folderitemsref);
|
||||
$msishortcutproperty{'PropertyKey'} = get_msishortcutproperty_propertykey($onelink);
|
||||
$msishortcutproperty{'PropVariantValue'} = get_msishortcutproperty_propvariantvalue($onelink);
|
||||
|
||||
my $oneline = $msishortcutproperty{'MsiShortcutProperty'} . "\t" . $msishortcutproperty{'Shortcut_'} . "\t"
|
||||
. $msishortcutproperty{'PropertyKey'} . "\t" . $msishortcutproperty{'PropVariantValue'} . "\n";
|
||||
|
||||
push(@msishortcutpropertytable, $oneline);
|
||||
}
|
||||
|
||||
# Saving the file
|
||||
|
||||
my $msishortcutpropertytablename = $basedir . $installer::globals::separator . "MsiShortcutProperty.idt" . "." . $onelanguage;
|
||||
installer::files::save_file($msishortcutpropertytablename ,\@msishortcutpropertytable);
|
||||
my $infoline = "Created idt file: $msishortcutpropertytablename\n";
|
||||
push(@installer::globals::logfileinfo, $infoline);
|
||||
push(@msishortcutpropertytable, $oneline);
|
||||
}
|
||||
|
||||
# Saving the file
|
||||
|
||||
my $msishortcutpropertytablename = $basedir . $installer::globals::separator . "MsiShorP.idt";
|
||||
installer::files::save_file($msishortcutpropertytablename ,\@msishortcutpropertytable);
|
||||
my $infoline = "Created idt file: $msishortcutpropertytablename\n";
|
||||
push(@installer::globals::logfileinfo, $infoline);
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user