0

In a .LST file for my VB6 installer there are two lines as follow:

File1=@VB6STKIT.DLL,$(WinSysPathSysFile),......
File2=@wshom.ocx,$(WinSysPath),.....

After installing my application, I found out that both go to the same \Windows\System32 folder. Do you know what is the difference between both paths?

Thanks

Peretz
  • 1,096
  • 2
  • 18
  • 31
  • That wshom.ocx is not meant to be distributed in this way. On downlevel versions of Windows this might succeed, only to break WSH and other scripting on the system. Do not redist this library like this. – Bob77 Aug 16 '11 at 21:48
  • @Bob: Thanks for the advice. I have an old VB6 installer. In the LST file, there are several [Bootstrap Files]: VB6STKIT.DLL, COMCAT.DLL, STDOLE2.TLB, ASYCFILT.DLL, OLEPRO32.DLL, OLEAUT32.DLL, msvbvm60.dll, wshom.ocx. how are this files supposed to be distributed? – Peretz Aug 17 '11 at 15:15
  • 1
    You're really supposed to update the [Do Not Redist] section of VB6DEP.INI to tell the PDW about things that are no longer distributable now that 1998 is long past. But aside from that, you're suppose to know which things to manually exclude while running the Wizard itself. That library is part of Windows Scripting, which either comes as part of Windows... or for Win9x needs to be installed as a unit. This is not a file you ever want to deploy by itself. The code is different for different OS versions too. – Bob77 Aug 17 '11 at 16:00
  • @Bob: How do I know which files are not distributable anymore? – Peretz Aug 17 '11 at 18:15
  • Experience. I'm not trying to be funny, there are 13 years of MS KB articles that cover this subject. There is also some information in the MDSN Library about each different software subset. Part of this is driven by security patches too, which is one reason OS-tailored variations come about. Most of Microsoft's packages contain multiple copies and install the one that fits the OS at hand. I don't know of any master knowledge base you can consult. – Bob77 Aug 17 '11 at 20:09
  • Here's a start http://support.microsoft.com/search/default.aspx?query=Visual%20basic%206.0%20setup%20and%20deploy%20package&catalog=LCID%3D1033 – Bob77 Aug 17 '11 at 20:17

2 Answers2

2

This dates back from VB4, I think, a version that could still generate 16-bit executables. Where the system directory was c:\windows\system, the synonym of $(WinSysPath). $(WinSysPathSysFile) is c:\windows\system32. There should be no difference on a 32-bit operating system, but worth a check. wshom.ocx really does belong in system32. It is already there on any recent operating system.

Hans Passant
  • 922,412
  • 146
  • 1,693
  • 2,536
0

They both go to the same system folder (The windows folder if it's not writable). The latter just marks it as a system file so it's not uninstalled.

Snippets from Setup1.bas in the PDW:

fSystem As Boolean 'whether the file is a system file (i.e. should be installed but never removed)

If InStr(strInitialDestDir, gstrWINSYSDESTSYSFILE) Then
  sFile.fSystem = True
End If

Case gstrWINSYSDEST, gstrWINSYSDESTSYSFILE
  strResolved = gstrWinSysDir
Deanna
  • 23,876
  • 7
  • 71
  • 156