My 2cent tips & tricks on computer technology & Application Virtualization ...
Tuesday, December 16, 2008
FAQ: AppV : Can I stream application if it was sequenced on other OS
Long Answer: If the application was sequenced on WinXP and streamed on Vista then there is more chances for the application to work but reverse is not recommended.
Sunday, December 14, 2008
TIPS: Python: How to convert python script to executable
* py2exe (Windows)
* py2app (Mac OS)
* PyInstaller (all platforms)
* cx_Freeze (Windows and Linux)
* bbFreeze (Windows and Linux)
Wednesday, December 10, 2008
TIPS: Linux : Compress a directory
tar cjf <FileName>.tar.bz2 <DirectoryPath>
Monday, December 1, 2008
Tips: Convert flv to mpg or avi
video.flv into video.mpg file:ffmpeg -i video.flv -ab 56 -ar 22050 -b 500 -s 320x240 video.mpg
and following converts video.flv into video.AVI with MP3 Audio:
ffmpeg -i I_test.flv -ab 56 -ar 22050 -b 500 -s 320x240 -vcodec xvid -acodec mp3 video.aviTuesday, November 11, 2008
TIPS: DELTREE in Windows XP
deltree can be simulated using the following .cmd file:
- Create an empty file deltree.cmd in %windir%\system32 folder
- Add the following content to the file, and save the file.
@echo off
del /S /F /Q %1
rd /S /Q %1
Thursday, November 6, 2008
My Virtual Applications Repository
http://sourceforge.net/projects/appvrepo/
Tuesday, October 21, 2008
Switching back to Linux when Gnome-RDP in full screen
You can use the same set of keystrokes to enter into the full-screen mode.
Tuesday, October 7, 2008
checking ext3 filesystem using fsck
fsck -c <drive>
<drive>: path of drive which you like to get scanned,
NOTE: IT Is aways advice to unmount the partition which needs to be scanned.
Tuesday, September 23, 2008
Disable "Use the web service to find the appropriate program"
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer
Thursday, September 18, 2008
Tips: Linux: Mount NTFS Share
Wednesday, September 17, 2008
FAQ: App-V: How to use the custom Exclusion List while Sequencing
- Launch the AppV sequencer.
- Goto Tools -> Options
- Select "Exclusion Items" tab
- Add new exclusion items using "New Button"
- When all the exclusion items are added then press "Save As Default" button
- Copy the default.sprj file from "C:\Program Files\Microsoft Application Virtualization Sequencer\" or the folder where the sequencer was installed to some network share from where it can be accessed later.
Using the custom exclusion list
- Copy the saved default.sprj file to "C:\Program Files\Microsoft Application Virtualization Sequencer\" before launching the Sequencer.
- When launched the sequencer will take the exclusion list from the default.sft file.
Friday, September 12, 2008
Imaging WinXP using Knoppix
- Boot from knoppix
- Repartition your drive
- Base Partition - This is were your winXP is installed
- Image Partition - this is were your image of windows xp will be copied
- mount the image partition: mount /dev/sda2 /media/img
- Use the command to create the img: ntfsclone -s -o /media/img/winxp.img /dev/sda1
- use the command to restore the img: ntfsclone --restore-image -O /dev/sda1 /media/img/winxp.img
- Enjoy
Note: It is a good idea to have ext3 as filesystem for your image partition so that the image file is not deleted accidentally and also it overwrites the FAT32 2GB filesize limit.
Monday, September 8, 2008
TIPS: dbus: UUID file '/var/lib/dbus/machine-id' contains invalid hex data
dbus-uuidgen > /var/lib/dbus/machine-id
TIPS: dpkg Error: dpkg: too many errors, stopping
dpkg: too many errors, stopping
also when you try `apt-get upgrade` or `apt-get dist-upgrade` you will be adviced that the previous application installation was not successful thus they should execute `dpkg --configure -a` and it returns the above error.
To resolve the issue run the following command
dpkg --configure -a --abort-after=99999
Wednesday, July 30, 2008
MAC OS Keys
Keystroke Description
Press X during startup Force Mac OS X startup
Press Option-Command-Shift-Delete
during startup Bypass primary startup volume and seek a different startup volume (such as a CD or external disk)
Press C during startup Start up from a CD that has a system folder
Press N during startup Attempt to start up from a compatible network server (NetBoot)
Press R during startup Force PowerBook screen reset
Press T during startup Start up in FireWire Target Disk mode
Press Shift during startup start up in Safe Boot mode and temporarily disable login items and non-essential kernel extension files (Mac OS X 10.2 and later)
Press Command-V during startup Start up in Verbose mode.
Press Command-S during startup Start up in Single-User mode (command line)
Wednesday, July 9, 2008
creating windows service using pyinstaller
# Usage:
# service.exe install
# service.exe start
# service.exe stop
# service.exe remove
# you can see output of this program running python site-packages\win32\lib\win32traceutil
import win32service
import win32serviceutil
import win32event
import win32evtlogutil
import win32traceutil
import servicemanager
import winerror
import time
import sys
class aservice(win32serviceutil.ServiceFramework):
_svc_name_ = "aservice"
_svc_display_name_ = "aservice - It Does nothing"
_svc_deps_ = ["EventLog"]
def __init__(self,args):
win32serviceutil.ServiceFramework.__init__(self,args)
self.hWaitStop=win32event.CreateEvent(None, 0, 0, None)
self.isAlive=True
def SvcStop(self):
# tell Service Manager we are trying to stop (required)
self.ReportServiceStatus(win32service.SERVICE_STOP_PENDING)
# write a message in the SM (optional)
# import servicemanager
# servicemanager.LogInfoMsg("aservice - Recieved stop signal")
# set the event to call
win32event.SetEvent(self.hWaitStop)
self.isAlive=False
def SvcDoRun(self):
import servicemanager
# Write a 'started' event to the event log... (not required)
#
win32evtlogutil.ReportEvent(self._svc_name_,servicemanager.PYS_SERVICE_STARTED,0,
servicemanager.EVENTLOG_INFORMATION_TYPE,(self._svc_name_, ''))
# methode 1: wait for beeing stopped ...
# win32event.WaitForSingleObject(self.hWaitStop, win32event.INFINITE)
# methode 2: wait for beeing stopped ...
self.timeout=1000 # In milliseconds (update every second)
while self.isAlive:
# wait for service stop signal, if timeout, loop again
rc=win32event.WaitForSingleObject(self.hWaitStop, self.timeout)
print "looping"
# and write a 'stopped' event to the event log (not required)
#
win32evtlogutil.ReportEvent(self._svc_name_,servicemanager.PYS_SERVICE_STOPPED,0,
servicemanager.EVENTLOG_INFORMATION_TYPE,(self._svc_name_, ''))
self.ReportServiceStatus(win32service.SERVICE_STOPPED)
return
if __name__ == '__main__':
# if called without argvs, let's run !
if len(sys.argv) == 1:
try:
evtsrc_dll = os.path.abspath(servicemanager.__file__)
servicemanager.PrepareToHostSingle(aservice)
servicemanager.Initialize('aservice', evtsrc_dll)
servicemanager.StartServiceCtrlDispatcher()
except win32service.error, details:
if details[0] == winerror.ERROR_FAILED_SERVICE_CONTROLLER_CONNECT:
win32serviceutil.usage()
else:
win32serviceutil.HandleCommandLine(aservice)
Sunday, July 6, 2008
Get the windows service state using Python
import wmi
class servicePython():
def __init__(self, serviceName):
self.c = wmi.WMI ()
self.serviceName = serviceName
def setServiceName(self, serviceName):
self.serviceName = serviceName
def getStatus(self):
srv = c.Win32_Service (name=self.serviceName)
if srv != []:
return c.Status
return False
Thursday, July 3, 2008
recursive list files in a dir using Python
import os
import sys
fileList = []
rootdir = sys.argv[1]
for root, subFolders, files in os.walk(rootdir):
for file in files:
fileList.append(os.path.join(root,file))
print fileList
Monday, June 30, 2008
Setting wx.TextCtrl readonly
txtCtrl.SetEditable(False)
# Also its a good idea to change the backgroud colour so user will know that is has became readonly.
txtCtrl.SetBackgroundColour((255,23,23))
Tuesday, June 10, 2008
TIPS: WX.Python.Grid: Removing the selected Rows
lst = None
no = self.grid_ShareDetails.GetNumberRows()
lst = sorted(self.grid_ShareDetails.GetSelectedRows())
lst.reverse()
for l in lst:
self.grid_ShareDetails.DeleteRows(l,1)
Monday, June 9, 2008
PitHole: Windows : The specified service has been marked for deletion
When I try to install the install a service which i have just delete using sc command i get the following error :
"The specified service has been marked for deletion".
Just close the services.msc and try again. otherwise one might have to restart the machine :( to resolve the issue.
Wednesday, June 4, 2008
PitHole: RPM : "warning, user XXX does not exist - using root"
Issue : I'm trying to build/install an rpm and it keeps giving me these warnings while installing the binary. Though I heard this could be safely ignored as its bcos there is no user XXX on my box, was wondering if there is a way to supress this in the rpm spec file itself. I know I could also manually build it as root. But curious if we could supress this from the spec.
Resolution:
Add the following in the spec file and recompile the spec file
%defattr(-,root,root)
TIPS: deltree in Windows
del /s %1
rd /s %1
Thursday, May 29, 2008
Tips : wx.Python : Close button not working.
self.Bind(wx.EVT_CLOSE, self.quit)
under the __init__ function and create a new function as
def quit(self, event):
self.Destroy()
Wednesday, May 14, 2008
PitHole: MAV: Error code: 0000C81D
Unable to import OSD file. The file specified is not a valid SoftGrid OSD file. Please ensure the file conforms to the SoftGrid OSD file schema and contains well formed XML. Error code: 0000C81D
When:
When importing the package using SPRJ or OSD file:
Cause:
OSD File is missing or NAME Tag inside OSD File is greater then 64 Char length.
Thursday, May 8, 2008
FAQ: Resolving the "ImportError: No module named decimal" Error
ImportError: No module named decimal
Description:
Error occurs when executable created using pyinstaller is executed which uses pymssql module
Resolution:
import decimal in the python program
If you are using pymssql module in python program and creating
Saturday, April 26, 2008
FAQ: MAV: Removing the Servers from the Softgrid Management consoles.
Wednesday, April 16, 2008
Disable the "Use the Web service to find the correct program" Dialog
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer
Tuesday, April 8, 2008
making skype portable
- Create skype folder on usb drive.
- copy skype.exe to that folder.
- create subfolder named data
- create a cmd file (save it in skype folder) with the content start %~dp0skype.exe /datapath:"%~dp0data" /removable
- run the cmd file and enjoy.
I am not sure if skype.exe adds registry on the local machine or not, will try to find that and update.
Monday, March 31, 2008
FAQ: How to enable file streaming in softgrid 4.5
HKLM\SOFTWARE\Microsoft\SoftGrid\4.5\Client\Configuration\AllowIndependentFileStreaming
Friday, March 14, 2008
PitHole: softgrid - Not running apps while in Capture Mode
1. Applicataion initialization: Most of the applications initialize on there first lauch and it is a good idea to capture that, Applications can do that by many ways such as self healing, etc
2. Component evaluating: This is something Sequencer does, it scans all the files and there working and based on that it sets the softricity attributes to the files and folders,
Tuesday, March 11, 2008
Can I virtualize hosts file.
Tuesday, March 4, 2008
A nice Defrag Utility
Sunday, February 24, 2008
download all the links of website with one command
Step2: run the following command
wget -m http://<weburl/>
Step 2.1 : If you want to download only say pdf files from the url then use the following command
wget -m -A pdf http://<weburl/>
Thats it.
Saturday, February 23, 2008
PitHole: MAV : "Not Authorised to access" Error
This is a very common error while streaming and is mostly generated when the sequence is not published on the server. But in this case it was published.
After struggling for two hour, I found that my friend was testing the seq which was published on two servers on same client machine without cleaning the cache. I asked him to cleanup the cache and then try again, but this time launch the osd from the server which is not working. After few mins he called me and said that now it is working fine.
Issue:
The issue was that when he launched the osd from Server A, the OSD file got cached in alluser profile and then when he launched it from Server , it went to server A and was trying to launch it from there and thats were all the hell broke down.
Lesson's Learned:
Always clean the cache using lucy (my softgrid client helper) or through the softgrid client console, and then do the testing for another package.
Monday, February 18, 2008
Friday, February 8, 2008
Microsoft Application Virtualization: Tips to pick right apps for sequencing
The following guidelines can be applied to test if any given application is a good candidate for sequencing or not.
- Application Size: If the maximum client cache size is set for 4 GB (The Max can be 64 GB), then the maximum size of application (sft file) which can be streamed on that machine is 4 GB.
- Device Driver: Softgrid presently do not support sequencing of device drivers thus any application which install device driver should not be sequenced.
The only exception is when the device driver can be installed locally without installing the application. In this case the Device driver should be installed locally and only the application without the device driver should be sequenced. - Plugins: Specially Office plugins, although they can be sequenced without any issue, they should not be sequenced due to usage issues. For example you sequenced 4 excel plugins and one user is using all 4 of them. Say he opened excel through one sequenced version, created the document and closed it. Now App-V & OS does not have a mechanism to open that excel sheet using that particular sequence The only workaround is to sequence all the plugins in a group. But now the issue is to maintain all the plugin sequences also if you are working for a company which heavily relay on Office Plugins and most user use different set of plugins than managing the sequence will be a nightmare.
- Windows Context menu: Presently App-V does not have mechanism to handle Windows Context Menu, thus these types of applications are not good candidate for Sequencing.
- Custom Application Protocol: Some applications have custom launch protocols, such as “abcd://testing” etc. These types of applications cannot be sequenced without installing a prerequisite. See http://msdn.microsoft.com/en-us/library/aa767914%28VS.85%29.aspx and http://www.codeplex.com/customurl for more details how to archive it.
- Shortcuts: Application should have a minimum of 1 Shortcut. If no shortcuts are present then the application should be sequenced in a Suite along with the application which needs it.
If Macromedia Flash is the application in question to be sequenced then the shortcut should be pointing to the locally installed IE. - Middleware: Middleware applications are not a good candidate for sequencing as they can be used as prerequisites by various many applications in the build and thus should be installed locally. but if multiple version of it are needed then it should be sequenced along with the application which needs them.
- Path hard coding: The application should not have folder/file path hard-coded in the application itself. Some application hard code the path of files in registry or ini file or executables. In these cases it has been found that the application can be sequenced most of the time, but extreme care should be taken while sequencing & testing. Configuration files such as ini, conf, txt etc are good places to look for the hard-coding.
- Base Build Applications: Applications which are already part of base build should not be sequenced. One can sequence them but they are of no real value.
- Auto Update: Application with automatic updates should not be sequenced. Sequenced application most of the time fails to properly update itself. Also allowing auto update leads to non compliance of application version. These type of applications should be sequenced only if the auto update feature can be disabled during sequencing procedure and users should be educated not to enable the feature.
- Services: For services -item, you should note that services that can be started when application starts and shut down when application main executable shuts down can be included in sequence. Only services that run as their own are (like boot-time services do but there are others) not suitable for sequencing as under SoftGrid all application starting happens under user’s session context. Special thanks to ksaunam.
- COM+: Some application which uses COM+ might not work properly in virtual environment, thus this type of applications needs be tested properly.
- COM DLL: Few application which uses COM DLL surrogate virtualization, i.e. DLL’s that run in Dllhost.exe, does not work properly in Softgrid Environment. Thus this type of applications needs be tested properly.
- Licensing Policies: Applications with licensing enforcement tied to machine, e.g. the license is tied to the system’s MAC address. This type of application should not be sequenced if the activation can not be done by the user at the first launch of sequenced application.
- Internet Explorer & Service Packs: Internet Explorer, Services Patch and Service pack can not be sequenced.
- Hosts file can not be sequenced
- Applications using or accessing WMI to access virtual environment such as registry, files etc.
- Applications which require or allow locally installed applications to access it. such as MS Office applications. NOTE: Sequencer should make sure no instance of locally installed application is running before virtual application is launched.
All applications which have the installed footprint greater than or equal to the max client size, set by the client, should not be sequenced. The Max application size Softgrid can handle is 4GB, [This is my guess as Q: drive has FAT filetype and the max filesize FAT can handle is 4GB ]. More details at http://www.softgridguru.com/viewtopic.php?t=2763.
A global leader in consulting, technology and outsourcing, Capgemini has 90,000 employees across 30 countries with revenues in excess of $13 Billion. Our 10 years in India have seen us grow into a dynamic organisation that’s 20,000 strong. As part of Capgemini, you’ll have the opportunity to develop strategies on some of the world’s biggest brands for markets that span the globe. At Capgemini, we make it a policy to partner our clients and help them find a solution. We call this the Collaborative Business Experience. And the results show, when both our clients and our employees prosper. So, if you want to make the most of global opportunities, come join us.
Job Description:
Required:
2 to 10yrs in application re- packaging using tools like Installshield adminstudio/Wise package studio
Repackage legacy setup to Windows installer format
Create MSI transforms
Job Loc: Mumbai.
- Application Size: If the maximum client cache size is set for 4 GB (The Max can be 64 GB), then the maximum size of application (sft file) which can be streamed on that machine is 4 GB.
- Device Driver: Softgrid presently do not support sequencing of device drivers thus any application which install device driver should not be sequenced.
The only exception is when the device driver can be installed locally without installing the application. In this case the Device driver should be installed locally and only the application without the device driver should be sequenced. - Plugins: Specially Office plugins, although they can be sequenced without any issue. But due to usage issues, sequencing of them should be avoided. For example you sequenced 4 excel plugins and one user is using all 4 of them. Say he opened excel through one sequenced version, created the document and closed it. Now App-V & OS does not have a mechanism to open that excel sheet in the correct sequenced version of excel. The only workaround is to sequence all the plugins in a group. But now the issue is to maintain all the plugin sequences also if you are working for a company which heavily relay on Office Plugins and most user use different set of plugins then managing the sequence will be a nightmare.
- Windows Context menu: Presently App-V does not have mechanism to handle Windows Context Menu, thus these types of applications are not good candidate for Sequencing.
- Custom Application Protocol: Some applications have custom launch protocols, such as “abcd://testing” etc. These types of applications cannot be sequenced without installing a prerequisite. See http://msdn.microsoft.com/en-us/library/aa767914%28VS.85%29.aspx and http://www.codeplex.com/customurl for more details how to archive it.
- Shortcuts: Application should have minimum of 1 Shortcut. If no shortcuts are present then the application should be sequenced in a Suite along with the application which needs it.
If Macromedia Flash is the application in question to be sequenced then the shortcut should be pointing to the locally installed IE. - Middleware: Middleware applications are not a good candidate for sequencing as they can be used as prerequisites by various many applications in the build and thus should be installed locally. but if multiple version of it are needed then it should be sequenced along with the application which needs them.
- Path hard coding: The application should not have folder/file path hard coded in the application itself. Some application hard code the path of files in registry or ini file or executables.
- Base Build Applications: Applications which are already part of base build should not be sequenced. One can sequence them but they are of no real value.
- Auto Update: Application with automatic updates should not be sequenced. Sequenced application most of the time fails to properly update itself. Also allowing auto update leads to non compliance of application version.
- Services: For services -item, you should note that services that can be started when application starts and shut down when application main executable shuts down can be included in sequence. Only services that run as their own are (like boot-time services do but there are others) not suitable for sequencing since under SoftGrid all application starting happens under user’s session context. Special thanks to ksaunam.
- COM+: Some application which uses COM+ might not work properly in virtual environment, thus this type of applications needs be tested properly.
- COM DLL: Few application which uses COM DLL surrogate virtualization, i.e. DLL’s that run in Dllhost.exe, does not work properly in Softgrid Environment. Thus this type of applications needs be tested properly.
- Licensing Policies: Applications with licensing enforcement tied to machine, e.g. the license is tied to the system’s MAC address. This type of application should not be sequenced if the activation can not be done by the user at the first launch of sequenced application.
- Internet Explorer & Service Packs: Internet Explorer, Services Patch and Service pack can not be sequenced.
- Hosts file can not be sequenced
All applications which have the installed footprint greater then or equal to the max client size, set by the client, should not be sequenced. The Max applicaiton size Softgrid can handle is 4GB, [This is my guess as Q: drive has FAT filetype and the max filesize FAT can handle is 4GB ]. More details at http://www.softgridguru.com/viewtopic.php?t=2763.
In these cases it has been found that the application can be sequenced most of the time, but extreme care should be taken while sequencing & testing. Configuration files such as ini, conf, txt etc are good places to look for the hardcoding.
Application should be sequenced only if the auto update feature can be disabled during sequencing procedure.
Sunday, February 3, 2008
Softgrid FAQs : Why I am getting the “Invalid directory” error message.
- OSD is referring of a Network file under script or FILENAME tag which user can not access.
- WORKINGDIR tag refers to a directory which does not exist.
- WORKINGDIR tag contains directory name is between Q0tes ("")
Thursday, January 31, 2008
PitHole: softgrid - WORKINGDIR
Softgrid FAQs : When it is safe to remove the WORKINGDIR Tag
- When launching the app you are getting Invalid dir error.
Wednesday, January 30, 2008
Softgrid FAQs : Blank Icons on published Applicataions.
- While capture the icons were not captured properly:
- Resolution: Extract the icons from the executable and then use it.
- The icons does not have proper icons size 16x16
- Resolution: Extract the icons from the executable and then use it
Note: One can use iconsucker, IconSnatcher or similar tool. Always remember to save the icon in 16x16 size and do not forget to update the OSD files to point to the new icons.
Sunday, January 27, 2008
Get Processes along with parameters
Type the command given below:
WMIC /OUTPUT:C:\ProcessList.txt PROCESS get Caption,Commandline,Processid
or
WMIC /OUTPUT:C:\ProcessList.txt path win32_process get Caption,Processid,Commandline
Saturday, January 19, 2008
Adding TextNode in XML using python
for element in OSElements:
print element.nodeValue
new = doc.createTextNode("TESTING")
element.appendChild(new)
Saturday, January 12, 2008
Setting ColumnWidth of wx.ListView control in python
# Get the size of listView Control
w = self.lvMountPoint.GetSize()
# Set the ColumnWidth
self.lvMountPoint.SetColumnWidth(0,w[0] * 0.81)
self.lvMountPoint.SetColumnWidth(1,w[0] * 0.19)