set the http_proxy system variable as
set http_proxy=http://proxy.mj.com:8080
instead of
set http_proxy=proxy.mj.com:8080
My 2cent tips & tricks on computer technology & Application Virtualization ...
Wednesday, November 4, 2009
Tuesday, October 27, 2009
App-V Interview Questions
- What is App-V Sequencing
- What is VFS Sequenging
- What is MNT Sequencing
- What is SystemGuard
- What are the protocols supported for streamming
- What is active upgrade
- Which applications can be sequenced.
- How to manage exclusion list
- Can network shortcut applications be sequenced
- Can host files be sequenced
- What are the different phases in sequencing app-v applications
- Define the normal upgrade process
- What precausions are needed while sequencing
- How reboots are handled while sequencing
- Can all types of services be sequenced
- Why application is launched more then once while sequencing.
- How much disk space is required on sequencing machine
- Which hardware component be updated to get better performance in sequencing process.
- What is a suite and how we can create them
- What is the difference between update and active upgrade
- What is the difference between suite and dynamic suite
- Why only Q drive is necessary for sequncing can we have any other also.
- Name few disadvantages of using SCCM server for deploying App-V Applications
- Name few advantages of using SCCM server for deploying App-V Applications
Updated list of questions can be downloaded from my AppvHelper project website. http://sourceforge.net/projects/softgridhelper/files/
Thursday, October 15, 2009
Convert Virtualbox vdi to VMware vmdk Files
QEMU-IMG can be used to convert virtualbox vdi file to vmware vmdk file
qemu-img.exe convert -O vmdk virtualbox.vdi vmware.vmdk
Tuesday, October 13, 2009
Demo Calender in wx.python
This is my wx.Calender demo in wx.python
###########################################################################
# -*- coding: ISO-8859-1 -*-
## This program is free software: you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation, either version 3 of the License, or
## (at your option) any later version.
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
## GNU General Public License for more details.
## You should have received a copy of the GNU General Public License
## along with this program. If not, see <http://www.gnu.org/licenses>.
__author__ = "Mayank Johri"
__copyright__ = "2009"
__version__ = "0.0.1"
__date__ = "Oct 13 2009"
__license__ = "GNU 3 or latest."
###########################################################################
import re
import datetime
import calendar
import wx
import string
import wx.calendar as cal
import sys
import os
APPDIR = sys.path[0]
TBMENU_RESTORE = wx.NewId()
TBMENU_CLOSE = wx.NewId()
year = ['January',
'February',
'March',
'April',
'May',
'June',
'July',
'August',
'September',
'October',
'November',
'December']
def thismonth():
""" Presently not using"""
calendar.setfirstweekday(0)
today = datetime.datetime.date(datetime.datetime.now())
current = re.split('-', str(today))
current_no = int(current[1])
current_month = year[current_no-1]
current_day = int(re.sub('\A0', '', current[2]))
current_yr = int(current[0])
myCal = '%s %s' %(current_month, current_yr)
myCal = myCal + '\n' + "M T W Th F Sa Su" + '\n'
month = calendar.monthcalendar(current_yr, current_no)
nweeks = len(month)
for w in range(0,nweeks):
week = month[w]
for x in xrange(0,7):
day = week[x]
if x == 5 or x == 6:
classtype = 'weekend'
else:
classtype = 'day'
if day == 0:
classtype = 'X'
myCal = myCal + str(classtype).ljust(3)
elif day == current_day:
myCal = myCal + str(day).ljust(3)
else:
myCal = myCal + str(day).ljust(3)
myCal = myCal + '\n'
return (myCal)
class MyTaskBarIcon(wx.TaskBarIcon):
def __init__(self, frame):
wx.TaskBarIcon.__init__(self)
self.frame = frame
icon = wx.Icon(os.path.join(APPDIR, 'clock.ico'), wx.BITMAP_TYPE_ICO)
self.SetIcon(icon)
self.Bind(wx.EVT_TASKBAR_LEFT_DCLICK, self.OnTaskBarRightClick)
self.Bind(wx.EVT_MENU, self.OnTaskBarActivate, id=1)
self.Bind(wx.EVT_MENU, self.OnTaskBarClose, id=2)
def OnTaskBarRightClick(self, event):
if not self.frame.IsShown():
self.frame.Show()
else: self.frame.Hide()
def CreatePopupMenu(self):
menu = wx.Menu()
menu.Append(1, 'Show/Hide')
menu.Append(2, 'Close')
return menu
def OnTaskBarClose(self, event):
self.Destroy()
self.frame.Destroy()
def OnTaskBarActivate(self, event):
if not self.frame.IsShown():
self.frame.Show()
else: self.frame.Hide()
def OnTaskBarDeactivate(self, event):
if self.frame.IsShown():
self.frame.Hide()
class MayaCalendar(wx.Dialog):
def __init__(self, parent, id, title):
wx.Dialog.__init__(self, parent, title="Maya Calender, Ver: 0.0.1")
vbox = wx.BoxSizer(wx.VERTICAL)
calend = cal.CalendarCtrl(self, -1, wx.DateTime_Now(),
style = cal.CAL_SHOW_HOLIDAYS|cal.CAL_SEQUENTIAL_MONTH_SELECTION)
vbox.Add(calend, 0, wx.EXPAND | wx.ALL, 20)
self.Bind(cal.EVT_CALENDAR, self.OnCalSelected, id=calend.GetId())
self.SetSizerAndFit(vbox)
self.Show(True)
self.tskic = MyTaskBarIcon(self)
self.Centre()
def OnCalSelected(self, event):
date = event.GetDate()
dt = string.split(str(date), ' ')
s = ' '.join([str(s) for s in dt])
self.text.SetLabel(s)
class MyApp(wx.App):
def OnInit(self):
frame = MayaCalendar(None, -1, 'Maya Calender, Ver: 0.0.1')
frame.Show(True)
self.SetTopWindow(frame)
return True
app = MyApp(0)
app.MainLoop()
Monday, October 12, 2009
demo code for wx.TaskBarIcon
Below is the demo code for wx.TaskBarIcon,
import wx
class sysTrayDemo(wx.Frame):
def __init__(self, parent, id, title):
pass
wx.Frame.__init__(self, parent, -1, title, size = (800, 600),
style=wx.DEFAULT_FRAME_STYLE|wx.NO_FULL_REPAINT_ON_RESIZE)
# FIXME: substitute your icon file here.
icon = wx.Icon('systray.ico', wx.BITMAP_TYPE_ICO)
self.SetIcon(icon)
if wx.Platform == '__WXMSW__':
# setup a taskbar icon, and catch some events from it
self.tbicon = wx.TaskBarIcon()
self.tbicon.SetIcon(icon, "SysTray Demo")
wx.EVT_TASKBAR_LEFT_DCLICK(self.tbicon, self.OnTaskBarActivate)
wx.EVT_TASKBAR_RIGHT_UP(self.tbicon, self.OnTaskBarMenu)
wx.EVT_MENU(self.tbicon, self.TBMENU_RESTORE, self.OnTaskBarActivate)
wx.EVT_MENU(self.tbicon, self.TBMENU_CLOSE, self.OnTaskBarClose)
wx.EVT_ICONIZE(self, self.OnIconify)
return
def OnIconify(self, evt):
self.Hide()
return
def OnTaskBarActivate(self, evt):
if self.IsIconized():
self.Iconize(False)
if not self.IsShown():
self.Show(True)
self.Raise()
return
def OnCloseWindow(self, event):
if hasattr(self, "tbicon"):
del self.tbicon
self.Destroy()
TBMENU_RESTORE = 1000
TBMENU_CLOSE = 1001
def OnTaskBarMenu(self, evt):
menu = wx.Menu()
menu.Append(self.TBMENU_RESTORE, "Restore SysTray Demo")
menu.Append(self.TBMENU_CLOSE, "Close")
self.tbicon.PopupMenu(menu)
menu.Destroy()
#---------------------------------------------
def OnTaskBarClose(self, evt):
self.Close()
# because of the way wx.TaskBarIcon.PopupMenu is implemented we have to
# prod the main idle handler a bit to get the window to actually close
wx.GetApp().ProcessIdle()
class MyApp(wx.App):
def OnInit(self):
self.redirect=True
frame = sysTrayDemo(None, -1, "SysTray Demo")
frame.Show(True)
return True
def main():
app = MyApp()
app.MainLoop()
if __name__ == '__main__':
main()
Sequencing Project 2003 Issue
Add the "%appdata%\Microsoft\MS project\" to exclusion list to avoid error while streaming
Friday, October 9, 2009
MSI Interview Questions
- Explain the difference between Property and PROPERTY
- Describe the process flow of an installation in terms of the User Interface, Immediate and Deferred sequences
- What are the ADDLOCAL and ADDSOURCE properties?
- What is the difference between installations using ALLUSERS=””, ALLUSERS=1 and ALLUSERS=2 option?
- Advertised vs non-advertised shortcuts, what’s the difference?
- Maximum how many files you can add in msi?
- ProductCode, PackageCode, UpgradeCode, Explain them
- Explain Backend mechanism of Self repair
- Suppose you’re in an environment where you can’t use advertisement, explain how you would go about setting userspecific settings
- What is the impact of leaving COM information in a generic registry component as apposed to in each relevant component
- How many sequences are there in an MSI
- Please sketch the entire process of creating a package, from the software request up to package delivery
- How many different sequance tables are there in an MSI
- Difference between dll/ocx and exe registraction
- How we can make two applications with same GUID to install on the same machine?
- How we create the small,minor and major upgrade?
- what is the disadvantage of using lock permissions table
- What are secure custom properties
- What is the difference between Repair and Self healing?
- What is entry point for MSI?
- What should be the condition of a custom action if we want to run it during installation and uninstallation ?
- Difference between Run, Run Once, Active Setup
- Use of INSTALLLEVEL Property
- Self-Heal (advertised shortcut) Vs Install on Demand (product Advertising)
- Self-Heal Vs Repair
- Per-user installation Vs Per-machine installation
- The reason why during a repair, bringing back missing files to System Folders is possible for a standard user who actually does not have a write permission to these folders.
- What are your thoughts and experiences for patching .msi files? What approaches have worked the best? What hasn’t worked? Why?
- Describe a methodology for populating the user’s profile with Windows Installer functionality. That one was funny because the interviewer was looking for Active Setup which I didn’t consider to be specific to Windows Installer.
- How do you configure an installation for an application that requires administrative privileges to work if the end user is not a local machine administrator?
- Have you ever had to modify a .msi directly without a graphic interface? Which tables did you modify and why?
- Describe the most difficult project you have worked on. What was the problem? How did you solve it? What did you learn?
- What tools are in your “packaging toolkit?”
- Have you had to edit permissions?
- How would you change permissions on files and registry entries?
- What are the differences between the lock permissions table and external tools for editing?
- How would you populate components from a machine-based installation to a user profile?
- What tools do you regularly use asides from your primary tool (WPS or IS or etc…) in the process of creating a package?
- An example of a condition you would use, and what it would be useful for.
- If you were to receive a vendor MSI, how would you repackage it to comply with company standards?
- Do you recommed modifying vendor MSIs? Why/why not?
- What are the advantages of using MSIs?
- Explain to me what self healing is and how you can leverage it for user specific files/registries
- Besides self-healing, what other options do you have for creating user specific files/registries and under what scenarios would you use those?
- How would you troubleshoot an application that does not run on a locked down environment but does run as administrator?
- When would you use Setup Capture and what kind of clean up would you performed on a captured MSI?
- Have you created merge modules? Why?
- What is the purpose of Validation and how do you handle ICE errors on vendor MSIs?
- Walk me through the entire packaging process from request to deployment you’ve been exposed to in previous roles.
Tuesday, October 6, 2009
Howto: Delete Rows in wx.Grid
def fm_bDeleteServerDetails(self, event):
lst = self.m_gdServerDetails.GetNumberRows()
selected = []
for r in range(lst):
if self.m_gdServerDetails.IsInSelection(r, 0) == True:
selected.append(r)
selected.reverse()
for r in selected:
self.m_gdServerDetails.DeleteRows(r,1)
def fm_bDeleteServerDetails(self, event):
lst = self.m_gdServerDetails.GetNumberRows()
selected = []
for r in range(lst):
if self.m_gdServerDetails.IsInSelection(r, 0) == True:
selected.append(r)
selected.reverse()
for r in selected:
self.m_gdServerDetails.DeleteRows(r,1)
Wednesday, September 30, 2009
processTame
import os
import sys
import win32process
import win32api
import subprocess
import win32con
def setpriority(pid=None,priority=1):
priorityclasses = [win32process.IDLE_PRIORITY_CLASS,
win32process.BELOW_NORMAL_PRIORITY_CLASS,
win32process.NORMAL_PRIORITY_CLASS,
win32process.ABOVE_NORMAL_PRIORITY_CLASS,
win32process.HIGH_PRIORITY_CLASS,
win32process.REALTIME_PRIORITY_CLASS]
if pid == None:
pid = win32api.GetCurrentProcessId()
handle = win32api.OpenProcess(win32con.PROCESS_ALL_ACCESS, True, pid)
win32process.SetPriorityClass(handle, priorityclasses[priority])
if (len(sys.argv) == 0):
print("usage: processtame.exe ")
else:
if (os.path.exists(sys.argv[1])):
app = subprocess.Popen(sys.argv[1])
pid = app.pid
setpriority(pid, 0)
app.wait()
Thursday, September 10, 2009
Searching Machine & User in OU
users: dsquery user -name "username"
Computers: dsquery computer -name "computername"
Computers: dsquery computer -name "computername"
Friday, August 7, 2009
MultiBoot WinXP and Linux using Grub.
If winxp is installed on second drive and linux is installed on first drive then add/update the following entries in the /boot/grup/menu.lst file
title Windows
map (hd0) (hd1)
map (hd1) (hd0)
root (hd1,0)
chainloader +1
title Windows
map (hd0) (hd1)
map (hd1) (hd0)
root (hd1,0)
chainloader +1
Tuesday, February 3, 2009
Bug: PCLinuxOS 2007: LiveCD fails to boot on System's with SATA Harddrive
Error:
LiveCD fails to boot with the following error:
Resolution
LiveCD fails to boot with the following error:
Searching for the loop image [DONE]
ERROR: Unable to mount the livecd
Dropping you to a limited shell ................
Resolution
Add the following word on grub menu
all-generic-ide
Subscribe to:
Posts (Atom)