Jump to content

Welcome to MSFN Forum
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.
Login to Account Create an Account


Photo

Creating shortcuts through MS hotfix installer?

- - - - -

  • Please log in to reply
3 replies to this topic

#1
tomasz86

tomasz86

    www.windows2000.tk

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,520 posts
  • OS:XP Pro x86
  • Country: Country Flag
I'm trying to figure out how to create shortcuts when using MS hotfix installer. Basically speaking, a section called LinkItems.Create is used for it but I'm really unsure how exactly it's structured.

Here are a few examples:

[LinkItems.Create]
%scw_linkname% = 0x0019,,"%SystemRoot%\hh.exe scwhelp.chm",,,,,,"@%SystemRoot%\System32\ws03res.dll,-69501","%SystemRoot%\system32\ws03res.dll",69500

%WDS_MMC_NAME%=0x002f,,%11%\WdsMgmt.msc,"%systemroot%\system32\wdsmmc.dll.mui",-114,,,,"@%systemroot%\system32\wdsmmc.dll.mui,-1892",%systemroot%\system32\wdsmmc.dll.mui,1891

%WDS_RISETUP_NAME%=0x002f,,%11%\risetup.exe,"%systemroot%\system32\risetup.exe.mui",-97,,,,"@%systemroot%\system32\risetup.exe.mui,-220",%systemroot%\system32\risetup.exe.mui,219

%seccentername% =  0x0017,%systemtools%,wscui.cpl,"%SystemRoot%\system32\xpsp2res.dll",-6105,,,,"@%SystemRoot%\system32\xpsp2res.dll,-6104","%SystemRoot%\system32\xpsp2res.dll",6103

%FlashConfigWiz% = 0x0017,%CommunicationsGroup%,"rundll32 shell32.dll,Control_RunDLL NetSetup.cpl,@0,WNSW","%SystemRoot%\system32\xpsp2res.dll",-2026,,,,"@%SystemRoot%\system32\xpsp2res.dll,-16202","%SystemRoot%\system32\xpsp2res.dll",16201

There's no available documentation on this. In the Internet I've found some guidelines like this one about how to create shortcuts through INF files but it's not exactly the same thing. Could anyone with more knowledge on this matter help and explain how such a shortcut structure should look like?

Let's say that I'd like to create a shortcut to "%ProgramFiles%\Skype\Phone\Skype.exe" which is to be located in "%16407%\Skype\" (All Users\Start Menu\Programs\Skype)
Posted Image
Unofficial Service Pack 5.2 for MS Windows 2000 <- use this topic if you need help with UURollup, Update Rollup 2 and other unofficial packages


How to remove advertisement from MSFN

#2
harkaz

harkaz

    Junior

  • Member
  • Pip
  • 71 posts
  • OS:Windows 7 x64
  • Country: Country Flag

The first argument is a special folder code. Below you can find the special folder codes:

 

const int CSIDL_DESKTOP = 0x0000;        // <desktop>
    const int CSIDL_INTERNET = 0x0001;        // Internet Explorer (icon on desktop)
    const int CSIDL_PROGRAMS = 0x0002;        // Start Menu\Programs
    const int CSIDL_CONTROLS = 0x0003;        // My Computer\Control Panel
    const int CSIDL_PRINTERS = 0x0004;        // My Computer\Printers
    const int CSIDL_PERSONAL = 0x0005;        // My Documents
    const int CSIDL_FAVORITES = 0x0006;        // <user name>\Favorites
    const int CSIDL_STARTUP = 0x0007;        // Start Menu\Programs\Startup
    const int CSIDL_RECENT = 0x0008;        // <user name>\Recent
    const int CSIDL_SENDTO = 0x0009;        // <user name>\SendTo
    const int CSIDL_BITBUCKET = 0x000a;        // <desktop>\Recycle Bin
    const int CSIDL_STARTMENU = 0x000b;        // <user name>\Start Menu
    const int CSIDL_MYDOCUMENTS = CSIDL_PERSONAL; //  Personal was just a silly name for My Documents
    const int CSIDL_MYMUSIC = 0x000d;        // "My Music" folder
    const int CSIDL_MYVIDEO = 0x000e;        // "My Videos" folder
    const int CSIDL_DESKTOPDIRECTORY = 0x0010;        // <user name>\Desktop
    const int CSIDL_DRIVES = 0x0011;        // My Computer
    const int CSIDL_NETWORK = 0x0012;        // Network Neighborhood (My Network Places)
    const int CSIDL_NETHOOD = 0x0013;        // <user name>\nethood
    const int CSIDL_FONTS = 0x0014;        // windows\fonts
    const int CSIDL_TEMPLATES = 0x0015;
    const int CSIDL_COMMON_STARTMENU = 0x0016;        // All Users\Start Menu
    const int CSIDL_COMMON_PROGRAMS = 0x0017;        // All Users\Start Menu\Programs
    const int CSIDL_COMMON_STARTUP = 0x0018;        // All Users\Startup
    const int CSIDL_COMMON_DESKTOPDIRECTORY = 0x0019;        // All Users\Desktop
    const int CSIDL_APPDATA = 0x001a;        // <user name>\Application Data
    const int CSIDL_PRINTHOOD = 0x001b;        // <user name>\PrintHood
    const int CSIDL_LOCAL_APPDATA = 0x001c;        // <user name>\Local Settings\Applicaiton Data (non roaming)
    const int CSIDL_ALTSTARTUP = 0x001d;        // non localized startup
    const int CSIDL_COMMON_ALTSTARTUP = 0x001e;        // non localized common startup
    const int CSIDL_COMMON_FAVORITES = 0x001f;
    const int CSIDL_INTERNET_CACHE = 0x0020;
    const int CSIDL_COOKIES = 0x0021;
    const int CSIDL_HISTORY = 0x0022;
    const int CSIDL_COMMON_APPDATA = 0x0023;        // All Users\Application Data
    const int CSIDL_WINDOWS = 0x0024;        // GetWindowsDirectory()
    const int CSIDL_SYSTEM = 0x0025;        // GetSystemDirectory()
    const int CSIDL_PROGRAM_FILES = 0x0026;        // C:\Program Files
    const int CSIDL_MYPICTURES = 0x0027;        // C:\Program Files\My Pictures
    const int CSIDL_PROFILE = 0x0028;        // USERPROFILE
    const int CSIDL_SYSTEMX86 = 0x0029;        // x86 system directory on RISC
    const int CSIDL_PROGRAM_FILESX86 = 0x002a;        // x86 C:\Program Files on RISC
    const int CSIDL_PROGRAM_FILES_COMMON = 0x002b;        // C:\Program Files\Common
    const int CSIDL_PROGRAM_FILES_COMMONX86 = 0x002c;        // x86 Program Files\Common on RISC
    const int CSIDL_COMMON_TEMPLATES = 0x002d;        // All Users\Templates
    const int CSIDL_COMMON_DOCUMENTS = 0x002e;        // All Users\Documents
    const int CSIDL_COMMON_ADMINTOOLS = 0x002f;        // All Users\Start Menu\Programs\Administrative Tools
    const int CSIDL_ADMINTOOLS = 0x0030;        // <user name>\Start Menu\Programs\Administrative Tools
    const int CSIDL_CONNECTIONS = 0x0031;        // Network and Dial-up Connections
    const int CSIDL_COMMON_MUSIC = 0x0035;        // All Users\My Music
    const int CSIDL_COMMON_PICTURES = 0x0036;        // All Users\My Pictures
    const int CSIDL_COMMON_VIDEO = 0x0037;        // All Users\My Video
    const int CSIDL_RESOURCES = 0x0038;        // Resource Direcotry
    const int CSIDL_RESOURCES_LOCALIZED = 0x0039;        // Localized Resource Direcotry
    const int CSIDL_COMMON_OEM_LINKS = 0x003a;        // Links to All Users OEM specific apps
    const int CSIDL_CDBURN_AREA = 0x003b;        // USERPROFILE\Local Settings\Application Data\Microsoft\CD Burning
    const int CSIDL_COMPUTERSNEARME = 0x003d;        // Computers Near Me (computered from Workgroup membership)
    const int CSIDL_FLAG_CREATE = 0x8000;        // combine with CSIDL_ value to force folder creation in SHGetFolderPath()
    const int CSIDL_FLAG_DONT_VERIFY = 0x4000;        // combine with CSIDL_ value to return an unverified folder path
    const int CSIDL_FLAG_DONT_UNEXPAND = 0x2000;        // combine with CSIDL_ value to avoid unexpanding environment variables
    const int CSIDL_FLAG_NO_ALIAS = 0x1000;        // combine with CSIDL_ value to insure non-alias versions of the pidl
    const int CSIDL_FLAG_PER_USER_INIT = 0x0800;        // combine with CSIDL_ value to indicate per-user init (eg. upgrade)

 

The second argument is a string with the name of the special folder's subfolder where you will save the link to. Leave this argument blank (put a comma) if you want to save the link in the special folder you specified.

The third argument is the command the shortcut will execute.

The fourth argument specifies a dll file with the shortcut's icon.

The fifth argument species the icon index in the specified dll

The next 3 arguments are unknown.

The 9th argument seems to be the target path of the shortcut.

10th, 11th arguments probably specify the dll with a specified string resource to show in shortcut's description.



#3
blackwingcat

blackwingcat

    Friend of MSFN

  • Member
  • PipPipPipPipPip
  • 764 posts
  • OS:Windows 2000 Professional
  • Country: Country Flag

http://blog.livedoor...es/1759259.html

You can refer to Skype Installer for Windows 2000. :)

 

I'm trying to figure out how to create shortcuts when using MS hotfix installer. Basically speaking, a section called LinkItems.Create is used for it but I'm really unsure how exactly it's structured.

Here are a few examples:
 

[LinkItems.Create]
%scw_linkname% = 0x0019,,"%SystemRoot%\hh.exe scwhelp.chm",,,,,,"@%SystemRoot%\System32\ws03res.dll,-69501","%SystemRoot%\system32\ws03res.dll",69500

%WDS_MMC_NAME%=0x002f,,%11%\WdsMgmt.msc,"%systemroot%\system32\wdsmmc.dll.mui",-114,,,,"@%systemroot%\system32\wdsmmc.dll.mui,-1892",%systemroot%\system32\wdsmmc.dll.mui,1891

%WDS_RISETUP_NAME%=0x002f,,%11%\risetup.exe,"%systemroot%\system32\risetup.exe.mui",-97,,,,"@%systemroot%\system32\risetup.exe.mui,-220",%systemroot%\system32\risetup.exe.mui,219

%seccentername% =  0x0017,%systemtools%,wscui.cpl,"%SystemRoot%\system32\xpsp2res.dll",-6105,,,,"@%SystemRoot%\system32\xpsp2res.dll,-6104","%SystemRoot%\system32\xpsp2res.dll",6103

%FlashConfigWiz% = 0x0017,%CommunicationsGroup%,"rundll32 shell32.dll,Control_RunDLL NetSetup.cpl,@0,WNSW","%SystemRoot%\system32\xpsp2res.dll",-2026,,,,"@%SystemRoot%\system32\xpsp2res.dll,-16202","%SystemRoot%\system32\xpsp2res.dll",16201
There's no available documentation on this. In the Internet I've found some guidelines like this one about how to create shortcuts through INF files but it's not exactly the same thing. Could anyone with more knowledge on this matter help and explain how such a shortcut structure should look like?

Let's say that I'd like to create a shortcut to "%ProgramFiles%\Skype\Phone\Skype.exe" which is to be located in "%16407%\Skype\" (All Users\Start Menu\Programs\Skype)

 


+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
BlackWingCat =^^=
http://blog.livedoor.jp/blackwingcat/
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

#4
tomasz86

tomasz86

    www.windows2000.tk

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,520 posts
  • OS:XP Pro x86
  • Country: Country Flag
Thanks a lot for all the information :) I'm definitely going to give it a try and report about the results.
Posted Image
Unofficial Service Pack 5.2 for MS Windows 2000 <- use this topic if you need help with UURollup, Update Rollup 2 and other unofficial packages




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users



How to remove advertisement from MSFN