Разница между путями WinSysPath и WinSysPathSysFile? - PullRequest
0 голосов
/ 16 августа 2011

В файле .LST для моего установщика VB6 есть две строки:

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

После установки моего приложения я обнаружил, что оба идут в одну и ту же папку \Windows\System32. Вы знаете, в чем разница между обоими путями?

Спасибо

Ответы [ 2 ]

2 голосов
/ 16 августа 2011

Это восходит к VB4, я думаю, версии, которая может генерировать 16-битные исполняемые файлы. Где системный каталог был c: \ windows \ system, синоним $ (WinSysPath). $ (WinSysPathSysFile) - это c: \ windows \ system32. В 32-разрядной операционной системе не должно быть различий, но стоит проверить. wshom.ocx действительно принадлежит system32. Он уже есть в любой недавней операционной системе.

0 голосов
/ 24 августа 2011

Они оба идут в одну и ту же системную папку (папку Windows, если она не доступна для записи).Последний просто помечает его как системный файл, поэтому он не удаляется.

Фрагменты из Setup1.bas в 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
...