Look at The example of the IndigoPerl installation script, I found they use something like the following code to add shortcuts to the startmenu.
sub MakeShortcut{
use Config;
use Win32::API;
use Win32::Shortcut;
use Win32::Registry;
use strict;
use DSUtil;
my ($shortcutfoldername, $configUser) = @_;
my ($key);
if ($configUser || Win32::IsWin95()) {
$key = 'HKCU\Software\Microsoft\Windows\CurrentVersion\Explore
+r\Shell Folders\Programs';
} else {
$key = 'HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explore
+r\Shell Folders\Common Programs';
}
my $folderdir = DS::GetReg($key);
my $folderpath = "$folderdir\\$shortcutfoldername";
print "Creating shortcut folder $folderpath\n";
mkdir ($folderpath, 0777);
print "Making shortcut Tk Solitaire\n";
my $LINK=new Win32::Shortcut();
$LINK->{'Path'}="\\Tk Solitaire\\Tk Solitaire.exe";
$LINK->{'Arguments'}="";
$LINK->{'WorkingDirectory'}=\\Tk Solitaire;
$LINK->{'Description'}="Tk Solitaire";
$LINK->{'ShowCmd'}=SW_SHOWNORMAL;
$LINK->Save("$folderpath\\Tk Solitaire.lnk");
$LINK->Close();
}
DSUtil (witch is required for the my $folderdir = DS::GetReg($key); line of code) is not a module for ActiveState ActivePerl. Please help me rewite to above code to work with ActiveState ActivePerl.