PDA

Показать полную графическую версию : Вопросы По WPI


Страниц : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 [70] 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118

YanTo
01-06-2009, 18:05
Аааа..., что-то грустно совсем... Вобщем, вот с 2884,
Надо найти на просторах инет файл mshta.exe или скопировать с другой винды (на крайний случай прикрепляю к сообщению) и кинуть его в системный раздел WINDOWS\system32. Для своей сборки, как советовал мне stasys44, я бросил этот файл в папку с WPI.hta и запускаю install.cmd: start /wait "%wpipath%\mshta.exe" WPI.hta. » тоже запарка.......
Значится, попробовал запускать из вот такого@echo off
FOR %%d IN (c d e f g h i j k l m n o p q r s t u v w x y z) DO IF EXIST %%d:\WIN51 SET CDROM=%%d:
start /wait "%CDROM%\WPI\mshta.exe" WPI.hta
exit, но на Т-13 прилетает птичка обломинго с сообщением "Windows не удалось найти 'WPI.hta'. Проверьте, что имя было введено правильно..." и т.д. При этом, и WPI.hta и mshta.exe лежат рядом, в одной папке %CDROM%\WPI\

Что же делать? Как запустить WPI?

-SK-
01-06-2009, 19:05
Возможно дело в рабочей директории, попробуйте так:


@echo off
FOR %%d IN (c d e f g h i j k l m n o p q r s t u v w x y z) DO IF EXIST %%d:\WIN51 SET CDROM=%%d:
start /wait /D "%CDROM%\WPI" "%CDROM%\WPI\mshta.exe" "WPI.hta"
exit

ключ /D указывает на рабочую директорию.

а вообще я использую другой скрипт для запуска HTA файлов:

@ECHO OFF
TITLE %~n0
IF EXIST "%~dpn0.HTA" (
ECHO START %~n0.HTA
START /WAIT "%~n0" /D "%~dp0" "%WINDIR%\SYSTEM32\MSHTA.EXE" "%~dpn0.HTA"
)
EXIT /B


коммандный файл должен называться также как и HTA файл т.е. "WPI.cmd"

YanTo
01-06-2009, 20:01
-SK-, коммандный файл должен называться также как и HTA файл т.е. "WPI.cmd" »
ммм..., а расположить его (ком.файл) можно где угодно? Или он должен быть в той же папке где и .hta ?

-SK-
01-06-2009, 20:03
должен быть в той же папке

S.T.R.E.L.O.K.
04-06-2009, 19:37
хммм... странно, у меня вообще идёт просто запуск файла mshta.exe, а последующего запуска hta файла таким образом вообще не происходит.

Pozia
08-06-2009, 19:45
Наблюдаю у себя интересную вещь с WPI. На винде с которой я сейчас пишу это сообщение WPI запускается на ура из RunOnceEx. Когда я ставлю винду на другой веник то WPI запускается после загрузки рабочего стола. Как я заметил, это происходи из за того, что на моей винде, которую я ставлю, почему то процесс mshta.exe при запуске WPI запускается ДВА раза, а на винде что стоит ОДИН раз. То есть получается, когда из RunOnceEx запускается WPI, то винда видя что mshta.exe исчезает из диспетчера задач на секунду начинает грузить рабочий стол, и в это же время mshta.exe снова появляется и грузит WPI. У кого нибудь подобное наблюдается? Есть ли решение против двойного запуска mshta.exe?

Pozia
09-06-2009, 18:21
Решил свою проблему. Возможно еще кому поможет. Сейчас WPI запускается у меня на ура. Для этого на 13 минуте у меня срабатывает автоит скрипт содержания:

#NOtrayIcon
#include <GuiConstantsEx.au3>
#include <ComboConstants.au3>
;

$sWPI_Drives = ""
$sSel_Drive = ""
$sFirst_Drive = ""

$sKey = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx"

$aDrives = DriveGetDrive("All")

RegWrite($sKey &"\910", "1", "REG_SZ", "REGEDIT /S " & @HomeDrive & "\HKLM.reg")
RegWrite($sKey &"\920", "" , "REG_SZ", "Перезагрузка...")
RegWrite($sKey &"\920", "1", "REG_SZ", "hidcon.exe Shutdown -r -f -t 0")
RegWrite($sKey &"\995", "1", "REG_SZ", @HomeDrive & "\WPI.exe")

;=============================================================================

For $i = 1 To $aDrives[0]
If DriveStatus($aDrives[$i]) <> "READY" Then ContinueLoop

If FileExists($aDrives[$i] & "\WPI\WPI.hta") Then
If $sWPI_Drives = "" Then $sFirst_Drive = $aDrives[$i]
$sWPI_Drives &= StringUpper($aDrives[$i]) & "|"
EndIf
Next

$sWPI_Drives = StringRegExpReplace($sWPI_Drives, "\|+$", "")

If StringInStr($sWPI_Drives, "|") Then
$hGUI = GUICreate("Выберите диск запуска WPI", 240, 50)

$Drives_Combo = GUICtrlCreateCombo("", 20, 20, 40, 20, $CBS_DROPDOWNLIST)
GUICtrlSetData(-1, $sWPI_Drives, $sFirst_Drive)

$OK_Button = GUICtrlCreateButton("OK", 80, 19, 60, 25)
$Cancel_Button = GUICtrlCreateButton("Cancel", 160, 19, 60, 25)

GUISetState(@SW_SHOW, $hGUI)

While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE, $Cancel_Button
Exit
Case $OK_Button
$sSel_Drive = GUICtrlRead($Drives_Combo)

ExitLoop
EndSwitch
WEnd
ElseIf $sWPI_Drives <> "" Then
$sSel_Drive = $sWPI_Drives
EndIf

If $sSel_Drive <> "" Then RegWrite($sKey & "\999", "1", "REG_SZ", $sSel_Drive & "\WPI\WPI.exe")


Скрипт можно конечно же упростить. Но главное что он делает выделил. То есть на 995 ключ назначается запуск самоудоляющегося файла с диска С (естественно он там должен уже быть) который вносит в реестр:

Reg Add "HKCU\Software\Microsoft\Internet Explorer\Main" /v Disable Script Debugger /d "no" /F >Nul
Reg Add "HKCU\Software\Microsoft\Internet Explorer\Main" /v DisableScriptDebuggerIE /d "no" /F >Nul
exit

и только потом с ключа 999 запускается WPI. Также скрипт заменяет x-Reset от горы и перегружает комп. Без перезагрузки не тестил.

Pozia
09-06-2009, 22:08
в принципе можно еще проще. Используя скрипт -SK- можно так:


Reg Add "HKCU\Software\Microsoft\Internet Explorer\Main" /v Disable Script Debugger /d "no" /F >Nul
Reg Add "HKCU\Software\Microsoft\Internet Explorer\Main" /v DisableScriptDebuggerIE /d "no" /F >Nul

@ECHO OFF
TITLE %~n0
IF EXIST "%~dpn0.HTA" (
ECHO START %~n0.HTA
START /WAIT "%~n0" /D "%~dp0" "%WINDIR%\SYSTEM32\MSHTA.EXE" "%~dpn0.HTA"
)
EXIT /B

а запуск данного CMD в 999 ключ вносить любым удобным способом.

Pozia
09-06-2009, 22:41
Ошибочка. В обоих моих сообщениях параметр "Disable Script Debugger" нужно брать в кавычки

denis121991
15-06-2009, 22:09
Такой вопрос, если взять программы wpi взятые с одной сборки поставить на другую то глючить не будет ?

Dmitrijan
15-06-2009, 23:08
По идее нет :) Но надо внимательно переносить, чтоб не пропустить все папки связанные с WPI . Ну и в самой сборке запуск WPI прописать. А если запуск где-то уже прописан, то посмотреть совпадают ли пути к wpi.hta.

Cibersoft Prolex
16-06-2009, 00:02
denis121991

Такой вопрос, если взять программы wpi взятые с одной сборки поставить на другую то глючить не будет ? »
Нет, не будет, если Вы правильно все сделаете.
Нужно взять программы из папки WPI - "Install" и перенести их в аналогичную папку Вашего WPI, при этом, если все программы поддержуют "тихую" инсталляцию, необходимо просто прописать в настрайках WPI адресацию к ним, если программы не поддерживают "тихую" инсталляцию, то можно:
1). Сделать к ним "тихие" инсталляторы.
2). Или воспользоваться приложением WPI, для автоматичной подборки ключей "тихой" инсталляции. (Не помню как называется)

Dmitry_K
16-06-2009, 00:18
при этом, если все программы поддержуют "тихую" инсталляцию, необходимо просто прописать в настрайках WPI адресацию к ним, если программы не поддерживают "тихую" инсталляцию, то можно:
1). Сделать к ним "тихие" инсталляторы.
2). Или воспользоваться приложением WPI, для автоматичной подборки ключей "тихой" инсталляции. (Не помню как называется) »
слишком долго, проще дополнительно перенести или всю папку WPIScripts или возможно будет достаточно перенести файл WPIScripts\config.js, в котором и хранятся пути к программам и ключи для их тихой установки
p.s. опять же надо все "это дело" тестировать

Dmitrijan
16-06-2009, 00:30
Приложение называется USSF, расположено оно по такому пути : WPI\Tools\

onedal
19-06-2009, 00:32
здраствуйте , я конечно понимаю что вопрос наверное уже был задан раз 100,но всё-же..
елси программа USSF не находит ключ к инсталяшке,то что делать? у меня она не находит ключи к большинству..

Cibersoft Prolex
19-06-2009, 00:42
onedal
Гляньте эту (http://forum.oszone.net/thread-63218.html) тему.
Поищите решения "тихой" установке программ на этом (http://forum.oszone.net/forum-61.html) форуме.
Ознакомьтесь с этой (http://www.oszone.net/2766) темой.

onedal
19-06-2009, 18:32
спасибо

Cibersoft Prolex
19-06-2009, 18:38
onedal
У нас на форуме спасибо говорится кнопкой "Полезное сообщение":)

denis52261
26-06-2009, 20:34
Здравствуйте, я хочу сделать тихий инстал, какой програмой можно отследить куда были скопированы файлы установленной программой, чтоб в последствии их собрать и создать из них тихий инстал!

Habetdin
26-06-2009, 20:44
denis52261, отслеживайте с помощью FileMon (http://soft.oszone.net/program/2370/FileMon/)
Но лучше использовать оригинальные установщики, запуская их с ключами для тихой установки




© OSzone.net 2001-2012