Скрипт для включения необходимых DLL-файлов в мой установщик - PullRequest
0 голосов
/ 18 февраля 2012

У меня должен быть скрипт такого типа, который автоматически регистрирует следующие dll-файлы, необходимые компьютеру для запуска моей программы.Ручное копирование требуемой dll в system32 фактически не регистрирует ту dll как то, что я видел, поэтому я попытаюсь использовать скрипт, который будет запускаться из автозапуска для регистрации этой dll.Я слышал об использовании "хоста скриптов Windows", но мне трудно учиться, особенно когда дело доходит до регистрации файла DLL в system32.Любые предложения, ребята?

Ответы [ 2 ]

1 голос
/ 20 февраля 2012

Я рекомендую вам создать пакет MSI, это проще, чем вы можете ожидать.

Попробуйте расширенный установщик: http://www.advancedinstaller.com/download.html

Вы можете использовать его бесплатно для таких простых проектов, как ваш.

0 голосов
/ 19 февраля 2012

Давайте разберем вашу проблему:

1) Предполагается, что вы скопировали необходимые dll-файлы в папку (folderPath = путь к этой папке) и у вас есть список dll-файлов в файле "temp.txt" в следующем формате -

xolehlp.dll

xpob2res.dll

xpsp1res.dll

2) Копирование dll из одной папки в папку system32

3) Зарегистрируйте это dll

Вот необходимый код:

Option Explicit 
Dim oFSO, WshShell, oTxtFile, sLine  ,filePath, folderPath
Const ForReading=1


filePath ="C:\Documents and Settings\Amol\Desktop\Temp\FileList.txt"
'' Filepath is your local path to txt file

folderPath = "C:\Documents and Settings\Amol\Desktop\Temp\"
'' folderPath is your path to folder from where you want to copy the dlls

 Set oFSO = CreateObject("Scripting.FileSystemObject") 
 Set WshShell = CreateObject("WScript.Shell")

 Set oTxtFile = oFSO.OpenTextFile(filePath, 1) 


Do Until oTxtFile.AtEndOfStream 

   sLine = oTxtFile.ReadLine
   oFSO.CopyFile folderPath & sLine,"C:\WINDOWS\system32\"
   sLine = "regsvr32 C:\WINDOWS\system32\"&sLine
   WshShell.Run sLine

 Loop 
 oTxtFile.Close
...