Thursday, August 6, 2009

[APPV] Solving VFS sequencing problems by implementing directory link between virtualized directories and actual directories

Some applications have hardcoded paths which require special efforts for redirecting them to the proper location. There are cases, in which tools can’t be redirected to the new location and “Junction” utility from Microsoft (By Mark Russinovich) helps to solve it. “Junction” creates symbolic directory link from Virtual Application to the actual file system. By using it, the package creator won’t spend his time for looking and changing the hardcoded paths to the new location.

How it can be implemented

The method could be implemented by attaching script which will execute “junction.exe” with the required parameters within the virtualized application environment. For example: junction.exe c:\app q:\app, by executing this command all applications’ requests referring to c:\app will actually be forwarded to q:\app.

*Tested on XP

** The Author cannot and will not be liable for any loss or damage arising from this article

*** "Junction.exe" http://technet.microsoft.com/en-us/sysinternals/bb896768.aspx

Boris Mikhailovski

IT Architect @SAP Israel

Sunday, June 28, 2009

Changing the managing server destination for Med-V Client (Formerly Kidaro)

Recently, i've installed MedV and pointed it to my old server. It doesn't trivial to change url to the new server, but i was lucky enough. By having AppV experience, i located the profile's file and it's located at %USERPROFILE%\Local Settings\Application Data\MED-V\Profile
The filename is ProfileInfo.xml

The defaullt profile for all users is located @C:\Documents and Settings\All Users\Application Data\MED-V\Profile

Cheers,
Boris

Thursday, April 30, 2009

Multiple zip extracter

Recently, I got 30 zips' files.Firstly, i tried to use winrar and it extracted file only from the first one.
So, i started to look for a new utility which can do it. I found an easy solution by using 7-zip file manager(http://www.7-zip.org/) and it's open source.

I discovered the following method:
1. launch 7-zip file manager
2. Select all your zip files
3. Right mouse click menu -> 7-zip->Extract

That's all

Friday, February 27, 2009

How to store XMLdocument @MSSQL 2005 as xml by using XSD

I was looking for a fast path to store XML in MSSQL 2005 by using XSD + VS2005.
For making life easier I created a stored procedure and imported it to Dataset:

I'm posting this code for other people which are looking for the fast solution:
MemoryStream xmlStream = new MemoryStream();
xmlDoc.Save(xmlStream);
SqlXml sqlXml = new SqlXml(xmlStream);
//here comes a table adaptor //
tblXYZTableAdapter xyzTableAdaptor = new tblXYZTableAdapter();
xyzTableAdaptor.SP_StoreProceure(sqlXml);

Tuesday, February 24, 2009

XSD & handling DBNull problem C#

The value for column xxx in table XXXXX is DBNull.
Recently, I started to use XSD for faster & easier object development in VS. One of obstacles which I discovered is DBNull which almost impossible to handle an exception via usual approach like . I posting this guide, because I saw many posts which propose non-trivial solutions.

I found two ways to make it easier:
1. To use try/catch mechanism, may result unnecessary slowness
2. The best: XSD class product for each object also a method for null/DBnull validation and by doing it helps to make a program in a very easy way.
Example: if objects name MyColumn so the method will be called IsMyColumnNameNull.

Thursday, February 19, 2009

EMC NPG advisor

EMC published new version on Networker Upgrade advisor. This version creates detailed step-by-step document for proper backup software upgrades

https://powerlink.emc.com/nsepn/webapps/btg548664833igtcuup4826/km/appmanager/km/secureDesktop?_nfpb=true&internalId=0b014066803d054d

Getting inventory + serials for DELL servers in OPENMANAGE

It's possible to obtain servers hw info throw Tools->Compliance tool

OpenSUSE 11.0 XDMCP enablement

As it appears, Configuring XDMCP protocol for making graphic network connections from remote X client is very tricky. I found the following article which explains, how it can be done:

Bear in mind,that 2 components should be evaluated:

1. XDMCP settings

2. Linux firewall settings

Configuring XDMCP on Linux

http://www.wmltd.co.uk/index.php/products/nomachine_thin_client/setting_up_x

Tuesday, January 27, 2009

Jbuilder 2008 crash with -1 error code

I found that JBuilder can fail during the first run with -1 code. After a short investigation, i discovered that there is a problem with JVM memory settings. In my case, max memory needed to be lowered due to -1 error code. I lowered the Xmx size to smaller one and it solved the problem. It can be done by changing -Xmx value in JBuilder.ini

Thursday, January 22, 2009

Sunday, December 21, 2008

AppV softgrid

I'm currently evaluating this product.
Useful tools:
Sft tool - great tool provides a look into internal structure of package

Tuesday, February 12, 2008

Unsupported encoding of VC 2.5

After upgrade to 2.5, I discovered that i can't start vmware virtual center. I checked the event viewer and found the following message:
The VMware Infrastructure Web Access service terminated unexpectedly , error number 7031.

After playing a lot with tomcat5 - i found out that it crashes on unsupported code page. In my case cp1255....

so i changed it to "ENGLISH (united states)" and this solved the problem
in case and this doesn't help - check the logs in this directory:

C:\Program Files\VMware\Infrastructure\VirtualCenter Server\tomcat\logs

Monday, January 28, 2008

C# accessing to fields/object by string

string vStringUnFiltered = Class.GetType().GetField(method_in).GetValue(Class_instance).ToString();

Regex + C# parsing IP into segments a.b.c.d to a./a.b./a.b.c

One of intresting features at C# .NET is Regular Expressions which is very handy and save time (similiar to perl style). It's possible to assign values to search items. Small example is:
void main()
{
.....

SortedList VLans_LIST = new SortedList();
foreach (string CurrRegex in new string[] { "^(?\\d+)\\.", "^(?\\d+\\.\\d+)\\.", "^(?\\d+\\.\\d+\\.\\d+)\\." })
{

string VLanValidated = RegEX_Validate(CurrRegex , "vlan", ipAddress);
if (VLanValidated == null)
{ //do nothing }
else if (!VLans_LIST.Contains(VLanValidated))
{
VLans_LIST.Add(VLanValidated, VLanValidated);
}
}
}

string RegEX_Validate(string RegexString, string RegexValueParam,string StringToVal)
{
Regex objNaturalPattern = new Regex(RegexString);
if (objNaturalPattern.Match(StringToVal).Success )
{
Match VMatch = objNaturalPattern.Match(StringToVal);
return VMatch.Groups[RegexValueParam].Value;
}
else return null;
}

Monday, December 10, 2007

Hyperic HQ How to manage Groups and resources mapping stored

For easy CostCenters management I created two stored procedures for HQ which create groups and map resources to this groups:
http://forums.hyperic.com/jiveforums/thread.jspa?threadID=3764&tstart=0

Monday, October 1, 2007

SQL VPX_HIST_STAT Table corruption

To check Virtual Center db for consistancy:
dbcc checkdb ('VCDB');

To repair soft:
alter database VCDB set SINGLE_USER;
dbcc checktable(VPX_HIST_STAT,REPAIR_REBUILD);
alter database VCDB set MULTI_USER;

if it doesn't help:
dbcc checktable(VPX_HIST_STAT,REPAIR_ALLOW_DATA_LOSS);

Monday, August 27, 2007

updating db user on migrated VC DB

select 'exec sp_changeobjectowner ''' + 'DOMAIN\USER' + ''', ''dbo'''
from sysobjects
where uid = user_id('old_USER')