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


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 12:22 AM.

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