PDA

Показать полную графическую версию : Упаковка WPI в один исполняемый файл


lokoham
28-11-2013, 22:10
Всем здравствуйте. Однажды появилась идея упаковать всю оболочку WPI в SFX - архив, да так чтобы установочные пути были относительно этого SFX... Спрашивается для чего это вообще надо? Отвечаю: Для того чтобы не было на диске кучи папок в которых куча файлов, а чтоб был один исполняемый файл и папка с программами. И вот наконец то придумал как это можно сделать и решил поделиться наработками, может кому это пригодится :)

1. И так для начала создадим скрипт AutoIT и назовем его StratWPI :)
#NoTrayIcon
#RequireAdmin
#include <WinAPIProc.au3>

$aProcessList = ProcessList("SetupWPI.exe")
$Path = _WinAPI_GetProcessWorkingDirectory($aProcessList[1][1])
EnvSet("SoftDir", $Path)
RunWait("wpi.exe")

2. Затем положим скомпилированный скрипт рядом с файлом wpi.exe.
3. Следующее действие будет замена путей установки в Config.js, теперь он будет выглядеть примерно так
'"%SoftDir%\\Папка_с_софтом\\еще какие то папки (если есть)\\setup.exe"'
На это много времени у вас не уйдет, просто воспользуйтесь заменой текста в текстовом редакторе :)
4. Всё, теперь всё кроме папки с софтом пакуем в архив, создаем sfx, к примеру через 7-Zip, путь распаковки указывай папку Temp, и так же прописываем запуск SetupWPI.exe
На этом всё.

Пока что ничего легче не придумал :) Если у кого то, будут другие идеи или предложения, пишите, будет интересно почитать :)
С уважением, AntiChat.




© OSzone.net 2001-2012