LSDEV: A Portable Litestep? Thread last updated on 2008-06-23 18:17:10

Posted by member 378340 on 2008-03-13 19:12:43

this is a new thread replacing here, but with more of a focus on improving it, rather than just asking "can it be done?". i'm compiling a list of features that should be included for this potential "portable" distribution. this would also be useful for people who want to try out litestep, but don't want to mess around with system settings. see here.
if you have the skills to help with any of this, or if something i am describing already exists, post in this thread, preferably with a link. also, if you have anything you want to see on this list, post and i will try to update the list.

*****THE LIST*****
1. a windows-like theme that comes as default. easy to change later, but allows you to use it without being to conspicuous...

2. an edited popup.rc that looks like the win xp start menu. perhaps multiple versions, including the original.

3. (not sure if this is possible, lower priority, but it would be neat none the less) a module that makes applications running from within the shell use a "registry" stored on the usb, and a virtual C:\ drive is mounted as a folder on the usb stick.
Looking at here. not sure exactly what it is.

4. a simple program to switch shells (simply kill one and start the other, nothing fancy here)
Dim startls
Dim i
Dim j
strComputer = "."

' Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2:Win32_Process")
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colProcesses = objWMIService.ExecQuery("Select * from Win32_Process")

For Each objProcess in colProcesses
If objProcess.Name = "explorer.exe" Then
i=1
End If

If objProcess.Name = "litestep.exe" Then
j=1
End If
Next


if i=1 Then
startls=Msgbox("Start Litestep as shell?",1,"Starting Litestep...")
If startls="1" then
set wshShell = Wscript.CreateObject("wscript.Shell")
WshShell.Run "taskkill /im explorer.exe /f"
wscript.sleep( 3000 )
If NOT j=1 Then
WshShell.Run WshShell.CurrentDirectory & "\drive.bat"
WshShell.Run WshShell.CurrentDirectory & "\litestep.exe"
j=0
End if
End if
End if

if j=1 Then
startls=Msgbox("Start Explorer as shell?",1,"Starting Explorer...")
If startls="1" then
set wshShell = Wscript.CreateObject("wscript.Shell")
WshShell.Run "taskkill /im litestep.exe /f"
wscript.sleep( 3000 )
If NOT i=1 Then
Windir = Wshshell.ExpandEnvironmentStrings("%windir%")
WshShell.CurrentDirectory = Windir
WshShell.Run "explorer.exe"
End if
End if
End if

Paste it into a notepad document, save it with a .vbs extension, and there you go! it bases the prompts based of the shell that is currently running. if both are, it prompts you to load litestep first, then explorer. if you say yes, it kills the opposite shell, without re-loading the other shell. Perfectly safe to use.
[EDIT]
you now need this batch file as well. it makes a file called drive.rc in your litestepdir that makes a variable called LSD with the current drive letter.
@echo off
SET lsdir=%cd%
cd \
SET root=%cd%
cd %lsdir%
echo Lsd "%root%">drive.rc

save with a .bat extension in your litestepdir.

5.more to come as i think of them...

Posted by member 1 on 2008-03-13 19:28:46 link

1. Why would I switch to a shell that looks like the shell I already have? You should provide them with two themes by default and give them documentation on why you gave the XP Shell by default and then let them grow into something more...unique.

3. You need to explain this one better. You want users to be on their PC with access to their apps. If you don't boot their windows you will restrict them to only what you install on the jump drive. If you are going to go this route you should get BartPE and build something for them to use. Then again...this would make them think that it is like switching to Linux and scare away a lot of potential users.

4. Use BartPE and build a powerful and robust troubleshooting jump drive with a better interface than the Explorer interface.

Posted by member 378340 on 2008-03-24 22:00:29 link

1. Two themes is good. Start with the explorer-like theme so that they are familiar with it, and can tweak it as they like, or change to an entirely different theme

3. The idea for this one (still not sure if it is possible) is to make it so that programs Running off the usb that try to write to the Registry, are redirected to a Registry stored on the memory stick. This allows users to carry their settings with them, and prevents them from changing the values on the local machine. when an application tries to access a value, first check to see if it exists on the USB, then, if it doesn't, return the value of it on the local machine.

Posted by member 1 on 2008-03-25 07:26:46 link

3. Yea...I don't think that is possible. What settings are you hoping for them to carry on their stick? I thought you wanted LS to be portable...not the whole machine.

Posted by member 378340 on 2008-03-25 19:50:25 link

3. settings for games, applications, etc, that are run off the memory stick. Applications running off the local machine will not be affected. This defiantly isn't mandatory by any means though, and is much lower priority then the other things.

basically, i want a distribution for n00bs that is much more user freindly, and behaves much like explorer by default. however, it allows the user to change it and customize it as they like. it could also come with something to allow them to change it to the default shell(setshell.exe?), but this should not be done by default.

End result: Most of the stuff in the installer, but without the "install" :) allows people to try litestep without risking wreaking the system.

Posted by member 1 on 2008-03-25 22:28:44 link

Then what you should do is have an app written for your distribution that kills the explorer process and launches the litestep process. Instead of using registry keys for some of the stuff that is in omar's installer you just define them to a text file instead. Trying to figure out how to trick Windows to use a registry that wasn't the one it booted from is not going to be easy.

Posted by member 378340 on 2008-03-28 19:39:39 link

.bat file (only the last two lines are necessary)
echo WARNING! This will terminate explorer. if your litestep path is invalid, you may be left with a blank screen. rebooting should fix any problems you have and restore everything back to normal :).
pause
taskkill /im explorer.exe /f
litestep path\Litestep.exe


.vbs (visual basic scripting) file
Dim startls
startls=Msgbox("Start Litestep as shell?",1,"Starting Litestep...")
If startls="1" then
set wshShell = Wscript.CreateObject("wscript.Shell")
WshShell.Run "taskkill /im explorer.exe /f"
wscript.sleep( 2000 )
WshShell.Run "Litestep Path\Litestep.exe"
End if


Do you know any good explorer like themes, or any good desktop modules that contain explorer functionality? e.g. Drag and drop?

is there any way to change the popup.rc font, and add pictures so it is like the windows start menu?

Posted by member 1 on 2008-04-02 19:26:39 link

btw...your scripts don't handle the multiple registry issue we were talking about. Yea...that will kill off explorer and run LS...but that is the easy part.

1) Clickonic
2) Uhmmm...yea? Read the docs?

Posted by member 378340 on 2008-04-02 21:05:44 link

2) i'm working on it. Right now i am trying to figure out how to get two rows of shortcuts (like the win xp start menu), and add the frequently used programs to the menu as well. not sure where they are stored though.

Posted by member 1 on 2008-04-08 07:59:13 link

It's in a registry entry. Someone had just posted the location in the General thread.

Posted by member 378340 on 2008-04-26 18:03:22 link

yeah, that was me :) be quite a coincidence if it wasn't.
how can i read the registry and customize the popup accordingly?

it there any way to make two rows of shortcuts on the popup?

Posted by member 219700 on 2008-04-28 17:13:28 link

I'm still not following the point to this. You want to replace Explorer, while maintaining it's looks and functionality... You know you can customize explorer too, right?

Posted by member 1 on 2008-04-28 18:13:47 link

The point is to be able to drop a jump drive off and tell a friend to play with it. Let him remain comfortable with where to find things but still show him there is a lot more you can do with a LS desktop than an Explorer desktop.

Posted by member 378340 on 2008-04-28 18:23:42 link

yes, i know you can customize explorer, but the customization is limited. my idea is to give the user a explorer-like interface by default, one that they are familiar with. however, the distribution would also come with another theme that is more creative.

basically, it allows people to try litestep without having to do to much reading, or chow to much about computers. then, if they like it, they can fully customize it to fit their needs, or create their own theme.

as for the portability, giving it the look and feel of explorer allows people to use it at their work, and not be bombarded with questions as to what exactly it is or not have to worry that it will change any settings. they can then transport it, along with all of their settings, to any computer they choose with a small memory stick.

so, for people who use one computer, it will allow them to try it out in a relatively low-risk environment, without having to learn a new interface (until the choose to, of course)

and for people using it on their memory stick, it allows them to carry most of their computer around with them (at least the part they interact with). and, they don't have to learn a new interface. almost like having a micro-laptop...

Posted by member 360399 on 2008-05-03 17:12:02 link

3 - Hey I'm using a setup like that you know for University computers, and really my LS folder became my "system root" folder since there is a $LitestepDir$. The point is that you have a strong folder hierarchy where you can "install" portable apps, and run them from within Litestep.

Easy ;) Don't make a new system, just LS

IMHO the best way to make that portable thing is: use the power of Litestep since its portable by default.

PS: and I use pskill (since Win2k doesn't has any taskkill) from a batch file and the "set" command to add x:\Litestep to %path%, is it really needed? jkey still fails finding msvcp80.dll on winnt systems...

Posted by member 378340 on 2008-05-09 19:35:48 link

not really necessary, but this distribution should be as easy to use initially as possible.

as for pskill, it doesn't work in win xp, sorry :(

however, there is a vbsript method to do this. just not sure how to use the /f switch equivalent
strComputer = "."
Set objWMIService = GetObject ("winmgmts:\\" & strComputer & "\root\cimv2")
Set colProcessList = objWMIService.ExecQuery ("Select * from Win32_Process Where Name = 'Explorer.exe'")
For Each objProcess in colProcessList
objProcess.Terminate()