Tilted Forum Project Discussion Community  

Go Back   Tilted Forum Project Discussion Community > Interests > Tilted Technology


 
 
LinkBack Thread Tools
Old 02-28-2009, 10:50 AM   #1 (permalink)
has a plan
 
Hain's Avatar
 
Location: middle of Whywouldanyonebethere
Converting BAT to EXE / Running Skype with Removable Switch

I have been looking for a process to convert a BAT script to an EXE. I know next to nothing about compiling but I would be willing to learn. If it is too complex to learn in under 20 minutes, then I might as well settle for a free application that can do it.

I have found a couple of programs that do this, but a quick Google search reveals that users have found malicious files with some of the programs. These may be false positives, or false warnings from those intending to bad-mouth applications. Still, it makes me wary of trying any applications from people that I do not trust.


My intention is to create an EXE which will be seen by my PortableApps Menu. PortableApps is a rather handy application site with popular programs and utilities that do not need to be installed, and can be run straight from a USB device on any computer. Their forums state that any application that would "over-shadow" Skype is against the [Skype] EULA (or possibly theirs, I don't know). This doesn't make sense; why would Skype write a program that has these command switches if they can't be changed in the program itself? Is it illegal for me to run Skype with the removable switch engaged from the command line? No. I quickly read through the EULA and I do not see why this would against the agreement. I am not modifying code, I am not creating "derivative works", and "Skype Software may be incorporated into software and other technology owned and controlled by third parties". Either way, it is silly that Skype doesn't offer a portable Skype, or a program that would call Skype in removable mode.

My current BAT script looks like this:
Code:
@TITLE Starting Portable Skype
@ECHO Skype is starting in Removable Mode
@ECHO skype.exe /datapath:"Data" /removable
@ECHO -  -  -  -  - 
@ECHO It is safe to close this command dialog once Skype has started
@ECHO For further information, go to
@ECHO http://www.von-phone.com/portable-skype.php
@ECHO or Google search 'portable skype'
@CD "\PortableApps\Skype\App"
@skype.exe /datapath:"Data" /removable
@EXIT
Only that last line is important. This BAT is adequate, but a nuisance as I have to close the dialog window after Skype starts. The command line (I believe) is waiting for skype.exe to end before continuing with the script.

Any thoughts?


Skype End User License Agreement - (2) License and Restrictions (url: http://www.skype.com/legal/eula/#license_restr )
Skype End User License Agreement - (2) License and Restrictions   click to show 

Skype End User License Agreement (url: http://www.skype.com/legal/eula/ )
Skype End User License Agreement   click to show 
Hain is offline  
Old 02-28-2009, 11:40 AM   #2 (permalink)
Upright
 
Stone's Avatar
 
If you do a search for 'bat2exec' you will find what you need.
__________________
Stone7
Stone is offline  
Old 02-28-2009, 11:52 AM   #3 (permalink)
has a plan
 
Hain's Avatar
 
Location: middle of Whywouldanyonebethere
That translates BAT to COM, for DOS. I need an EXE.

-----

Also, that is one of those programs I am trying to avoid: a Google search results in 7 of 10 pages about bat2exec being related to a trojan. While it may be that a trojan would run under the same name, I would like to avoid using such programs.

Last edited by Hain; 02-28-2009 at 11:54 AM..
Hain is offline  
Old 02-28-2009, 02:04 PM   #4 (permalink)
Done freeloading here
 
freeload's Avatar
 
Location: on my ass :) - Norway
Or do the last line as:
@start skype.exe /datapath:"Data" /removable

start opens skype in a new thread, so problem solved
__________________
The future ain't what it used to be.
freeload is offline  
Old 02-28-2009, 02:36 PM   #5 (permalink)
has a plan
 
Hain's Avatar
 
Location: middle of Whywouldanyonebethere
That works to get rid of the dialog. Thanks.

I would still like an EXE for convenience. The PA menu scans the application directory for EXEs and adds them to the menu. Right now, I have to navigate to my USB drive every time I want to start Skype in portable mode.
Hain is offline  
Old 03-01-2009, 01:47 PM   #6 (permalink)
Junkie
 
Location: San Francisco
I don't know about converting BATs to EXEs, but here is a C program that does exactly the same thing. You can compile it yourself (Visual Studio Express and GCC are both good free compilers) or I've provided an executable version here. [SHA-1 = 4af0b5abc1a3fe20eb2a8a12902db2641c8a7505] You can trust me. ;-) (Of course, as you probably know, you shouldn't run random programs provided by random people on the internet, not least of all because even a perfectly clean program can be hacked and replaced with no one knowing, at least if they were to edit the hash.) It must be on the same drive letter as X:\PortableApps\Skype\App\skype.exe

Code:
#include <windows.h>
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
	STARTUPINFO si;
	PROCESS_INFORMATION pi;

	ZeroMemory(&si, sizeof(si));
	si.cb = sizeof(si);
	ZeroMemory(&pi, sizeof(pi));

	SetCurrentDirectory(TEXT("\\PortableApps\\Skype\\App"));
	if (!CreateProcess(NULL, 
		TEXT("skype.exe /datapath:\"Data\" /removable"),
		NULL, NULL, FALSE, 0, NULL,
		NULL, &si, &pi))
	{
		char errbuf[128];
		wsprintfA(errbuf, "CreateProcess failed [%d]\r\n", GetLastError());
		MessageBoxA(NULL, errbuf, "error", MB_OK);
		return 1;
	}

	CloseHandle(pi.hProcess);
	CloseHandle(pi.hThread);
	return 0;
}
Isn't Windows programming just a barrel of monkeys?
__________________
"Prohibition will work great injury to the cause of temperance. It is a species of intemperance within itself, for it goes beyond the bounds of reason in that it attempts to control a man's appetite by legislation, and makes a crime out of things that are not crimes. A Prohibition law strikes a blow at the very principles upon which our government was founded." --Abraham Lincoln
n0nsensical is offline  
Old 03-03-2009, 02:21 PM   #7 (permalink)
has a plan
 
Hain's Avatar
 
Location: middle of Whywouldanyonebethere
Quote:
Originally Posted by n0nsensical View Post
Isn't Windows programming just a barrel of monkeys?
No... I will try this out on the lab computers, they have all kinds of software and nerdy men with red sweaters and coke bottle glasses that get unbelievable kicks at helping people.
Hain is offline  
Old 04-15-2009, 12:18 PM   #8 (permalink)
Upright
 
Here you have:

Skype Loader is a very simple application that just runs Skype as a portable app.

This is done by using the official skype.exe switches /removable and /datapath.

You just need to decompress the ZIP folder into whenever you want, and then copy skype.exe from your skype installation folder to the SkyePortable\App folder.


SETUP

0) Download Skype Loader from here www.zshare.net/download/586965938c2a53ab/

1) Download Skype from skype-com

2) Install Skype to your machine (this is required to get skype.exe application)
(NOTE: technicall guys can use universal extractor to extract skype.exe without installing)

3) Extract the whole SkypePortable folder from the skypeportable.ZIP to another location, lets asume x:\.
(NOTE: see SkypeLoader.png for a visual explanation)

4) Copy skype.exe from c:\Program Files\Skype\Phone\skype.exe to TO x:\SkypePortable\App (folder)

5) Run x:\SkypePortable\SkypeLoader.exe to start Skype in portable mode.


TECHNICAL NOTES

Skype Lodaer is an open source GPL v3 application writen in Lazarus lazarus-freepascal-org language (Delphi-like).

It consists mainly on a few lines of code:

Code:
procedure TForm1.FormCreate(Sender: TObject);
var dir: string; command: string; AProcess: TProcess;
begin
  dir := IncludeTrailingPathDelimiter(GetCurrentDir);
  command := dir+ 'app\skype.exe /removable /datapath:"' + dir + 'Data"';
  Form1.Label1.Caption := command;
  AProcess := TProcess.Create(nil);
  AProcess.CommandLine := command;
  AProcess.Execute;
  AProcess.Free;
  Application.Terminate;
end;
Source code is included under Sources folder.

Skype Loader 1.0 by Javier Arce. Dedicated to my mother Lucy.

Released as open source under the GPL v3 or latter license.

Last edited by The_Jazz; 04-15-2009 at 01:07 PM..
kwanbis is offline  
 

Tags
bat, converting, exe, portable, portableapps, removable, skype, usb

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT -8. The time now is 02:16 PM.

Tilted Forum Project

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Search Engine Optimization by vBSEO 3.6.0 PL2
© 2002-2012 Tilted Forum Project

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 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360