PDA

View Full Version : yasu -s doesn't work for me



Thornburgh
02.03.2007, 08:08
Yasu works as expected on my system if I don't use -s.

However, if I enter yasu -s from a command prompt, it does nothing. Yasu does not start (I can tell by running Yasu normally; it starts rather than stops).

If I put yasu -s in a batch file, the batch file fails to move to the next line.

Any ideas?

Thanks!

FnF
03.03.2007, 07:50
Have you tried creating a shortcut to yasu.exe with the -s parameter?

Thornburgh
04.03.2007, 01:53
Have not tried that because what I'm trying to do is make a batch file work. However, I did try yasu -a, and that works, even though it does yasu -s at startup.

So somehow yasu -s is not compatible with my XP command prompt environment.

evlncrn8
04.03.2007, 06:17
could be related to parsing the commandline
from console based programs, i've seen the ' character used instead of " , and sometimes no character at all

maybe syk0 could shed some light on it, or debug yasu and bpx on GetCommandLineA and see what happens

sYk0
04.03.2007, 09:45
If I put yasu -s in a batch file, the batch file fails to move to the next line.

In a commandline enviroment when you run YASU (even without -s) YASU runs properly, however the command prompt is waiting for YASU to exit/close before continuing to the next line.

I'll look at fixing this "bug" in YASU 1.1.0 ;)

Thornburgh
04.03.2007, 20:55
Thanks.

BTW, one other thing I've noticed:

if you start yasu silently with yasu -a, the first time you run yasu manually it silently restores your drives if you don't use -s

sYk0
08.03.2007, 20:54
Just so you know with Y.A.S.U v1.1.0 there will be various fixes and additions to the commandline parameters, this shoud make use of Y.A.S.U a bit easier to use from scripts/batch file(s).


If I put yasu -s in a batch file, the batch file fails to move to the next line.
However there is a solution to the above probelm.
When running a 32bit application (i.e Y.A.S.U) from a script/batch file try the following example.

================================================

@ECHO OFF
@ECHO Step 1: Run Y.A.S.U, cloak your devices.
@START YASU.exe -s

@ECHO Step 2: Run your Application/game.
@"D:\Games\Star Wars Empire at War\GameData\sweaw.exe"

@ECHO Step 3: Run Y.A.S.U, uncloak your devices.
@START YASU.exe -s

@rem Remove the line below to disable pause in scipt.
@pause

Inf3kt.
09.03.2007, 02:18
Nice.
How far off is 1.1.0 now?

Thornburgh
11.03.2007, 08:39
Thanks. The start command does help.

However, I then found a new problem, at least for Forces of Corruption (swfoc.exe). It seems to return control to the batch file too soon! Even if I use start /wait, the batch file proceeds almost immediately, so that yasu unloads too soon. From googling, this may be because it's multithreaded.

Anyway, I found a fix: I downloaded the Microsoft batch command sleep.exe, and added sleep 30 to insert a 30 second delay after launching swfoc and before unloading yasu. This seems to be enough.

sYk0
11.03.2007, 11:31
However, I then found a new problem, at least for Forces of Corruption (swfoc.exe). It seems to return control to the batch file too soon! Even if I use start /wait, the batch file proceeds almost immediately, so that yasu unloads too soon. From googling, this may be because it's multithreaded.
This has something to do with SecuROM, with the newer versions of SecuROM when you run your game (swfoc.exe) the SecuROM wrapper kills the process then starts a new one, that's why you batch file moves to the next line (the procces ended).

Thornburgh
13.03.2007, 20:21
That's consistent with what I've observed, thanks.

Can you think of any reason not to unload Yasu in the middle of a Securom game (i.e., after a short timer delay)? It seems to work. I prefer this to running Yasu all the time (at boot) because it blocks access to Plextor PlexTools and I don't know what else it may affect. (It's pretty interesting to me that you can hide the DVD drive from Securom but it's still visible to Windows; I don't really understand that.)

Anyway, if others want to try my "sleep" approach, sleep.exe can be downloaded from MS here:

ftp.microsoft.com/Services/TechNet/samples/PS/Win98/Reskit/SCRPTING/

..::shiFt::..
13.03.2007, 23:02
i would suggest DaemonScript for that. You can run programs, mount/unmount images and (!) set delay times.


cheers!

Jito463
14.03.2007, 13:55
Just for the record, regarding the batch file posted above, with @ECHO OFF at the beginning, you don't need @ commands before each line (@ = no echo). :)

BAcid
26.08.2008, 05:42
well why not use:

@echo off
echo.
echo Waiting 10 seconds
ping localhost -n 10 >nul
echo - continueing...

I HATE inserting discs of games i bought. why have a large HD and still have to instert them?
so a solution i use:

source and description here: http://bananaacid.kicks-ass.net/~code/src/bat_and_cmd/DaemonTools%20+%20Yasu%20script%20for%20game%20Loa ders/

http://bananaacid.kicks-ass.net/~code/src/bat_and_cmd/DaemonTools%20+%20Yasu%20script%20for%20game%20Loa ders/screenshot.JPG



@echo off

rem BananaAcid.de.vu - 26 August 2008


setlocal

rem NOTE: DO NOT USE quotation marks
set GAMENAME=HELLGATE:London
set GAMEEXE=hellgate_sp_dx9_x86.exe

rem NOTE: ONLY use quotation marks, if the PATHs have spaces.
set GAMELAUNCHER="K:\Hellgate London\Launcher.exe"
set GAMEISO="K:\Hellgate London\MINI ISO\Hellgate London.mds"

set DTEXE="C:\Programme\DAEMON Tools Lite\daemon.exe"
set YASUDIR="C:\Programme\DAEMON Tools Lite"


color F9
title %GAMENAME% [ LAUNCHER ]
echo (http://BananaAcid.de.vu)

echo.
echo Launching... %GAMENAME%
echo.
echo DAEMON TOOLS: Mounting ISO
%DTEXE% -unmount 0 -safedisc on -securom on -laserlock on -rmps on -mount 0,%GAMEISO%

echo.
echo YASU: Cloaking Daemon Tools
start /d %YASUDIR% YASU.exe -s -c

echo.
echo WAIT: for Yasu 2 seconds
rem wait 10 secs
ping localhost -n 2 >nul

echo.
echo STARTING: %GAMENAME% [ Launcher ]
%GAMELAUNCHER%

rem let the launcher start the game before we check if it got closed
rem ping localhost -n 10 >nul

echo.
echo WAITING: For %GAMENAME% to end


:checkifclosed
rem wait for game exe to be finished
ping localhost -n 5 >nul

rem not used, because of the "task not found msg.
rem tasklist /FI "IMAGENAME eq %GAMEEXE%" /NH |find /I "%GAMEEXE%" >nul

tasklist /NH |find /I "%GAMEEXE%" >nul

rem game exe ended, and we go to finish the procedure
if %errorlevel%==1 goto finishup

goto checkifclosed

:finishup

echo.
echo ENDED

echo.
echo CONTINUE: Cleaning up

echo.
echo DAEMON TOOLS: Unmounting ISO
%DTEXE% -unmount 0

echo.
echo YASU: Uncloaking
start /d %YASUDIR% YASU.exe -s -x

echo.
echo DONE!
echo.
pause