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 HashPart3 N Size of file in bytes (long integer).
|
||||||
MsiFileHash HashPart4 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.
|
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 Attribute N Text Name of ODBC driver attribute
|
||||||
ODBCAttribute Driver_ N ODBCDriver 1 Identifier Reference to ODBC driver in ODBCDriver table
|
ODBCAttribute Driver_ N ODBCDriver 1 Identifier Reference to ODBC driver in ODBCDriver table
|
||||||
ODBCAttribute Value Y Text Value for ODBC driver attribute
|
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::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
|
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) = @_;
|
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
|
my $oneline = $msishortcutproperty{'MsiShortcutProperty'} . "\t" . $msishortcutproperty{'Shortcut_'} . "\t"
|
||||||
# These shortcuts will fill the icons table.
|
. $msishortcutproperty{'PropertyKey'} . "\t" . $msishortcutproperty{'PropVariantValue'} . "\n";
|
||||||
|
|
||||||
for ( my $j = 0; $j <= $#{$folderitempropertiesref}; $j++ )
|
push(@msishortcutpropertytable, $oneline);
|
||||||
{
|
|
||||||
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);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# 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