私の VB6 インストーラーの .LST ファイルには、次の 2 行があります。
File1=@VB6STKIT.DLL,$(WinSysPathSysFile),......
File2=@wshom.ocx,$(WinSysPath),.....
\Windows\System32
アプリケーションをインストールした後、両方が同じフォルダーに移動することがわかりました。両方のパスの違いは何ですか?
ありがとう
これは、16 ビットの実行可能ファイルをまだ生成できるバージョンである VB4 にさかのぼります。システム ディレクトリは c:\windows\system で、$(WinSysPath) のシノニムです。$(WinSysPathSysFile) は c:\windows\system32 です。32 ビット オペレーティング システムでは違いはありませんが、確認する価値があります。wshom.ocx は実際には system32 に属しています。最近のオペレーティングシステムにはすでに存在します。
それらは両方とも同じシステムフォルダ(書き込み可能でない場合はWindowsフォルダ)に移動します。後者はそれをシステムファイルとしてマークするだけなので、アンインストールされません。
PDWのSetup1.basからのスニペット:
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