Welcome to the Calyx Software Message Boards where you can share ideas and solutions with other Calyx users! Calyx personnel including Tech Support, Development, QA, and Business Planning often visit these message boards unofficially to better understand our customers' needs. To submit your suggestions Click Here.
This discussion forum is a service provided by Calyx Software. Calyx Software does not endorse any particular point of view expressed in this forum or any information provided in it. The use of the information provided by other users in this message board is at your own risk.
Calyx Software Message Board
Home      Members   Calendar   Who's On
Welcome Guest ( Login | Register )
      


12345»»»

Step by Step Terminal Server install for...Expand / Collapse
Author
Message
Posted 9/1/2005 7:09:17 AM
Forum Guru

Forum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum Guru

Group: Forum Members
Last Login: 9/8/2008 5:20:14 PM
Posts: 51, Visits: 183
I've seen a lot of people talk about this, but no one has published anything that I could find about how to install Point on a TS server. Most people are trying to charge for it. Well, here is what I do to setup Point. There may be a few steps missing, but in general this is how I've setup Point on TS 2000 and 2003. It's worked with almost all versions(had a couple issues with 4.3, but that was probably my fault because I tried to skip a step or two).

None of the scripts are commented or even written that well, but it works. I've had this process running for 10-300 users w/o any real issues. If you have a TS farm it's pretty easy to modify to work with that too.


Here’s how out setup works:

1.Login to TS as Admin equivalent user.
2.At command prompt: change user /install
3.Install Point 5.1 standard install
4.At command prompt: change user /execute (I think this is the right command to get back to execute mode)
5.Copy Winpoint directory to c:\documents and settings\default user\winpoint directory
6.Copy Winpoint directory to d:\zwinpoint (probably not the best name or place to keep this, but makes life easier). I keep it on D: because we hide the C drive from the users.
7.Login as a non-admin user
8.Scripts that we run to get point setup per user and make sure that they have the most current version:
9.Main Login
*********************************
snip
IF '%COMPUTERNAME%' == 'TSSRV' goto :TSSRV
:TSSRV
subst w: "%userprofile%\winpoint"
:END
snip
*********************************
10.PntVersionChk.vbs – First thing I do is check to see if the user has the current version of Point in their User Profile. If not, I copy in the new version of Point, based on the zWinpoint directory. We’ve had issues copying out of the C:\winpoint directory while other users are using Point on the same server, so that’s the reason I created d:\zWinPoint
*********************************
Dim filesys, WshShell, NewPoint, CrntPoint, NewPntDate, CrntPntDate
Set filesys = CreateObject("Scripting.FileSystemObject")
Set WshShell = WScript.CreateObject("WScript.Shell")
Set NewPoint = filesys.GetFile("d:\zwinpoint\winpoint.exe")
Set CrntPoint = filesys.Getfile("w:\winpoint.exe")
NewPntDate = NewPoint.Datelastmodified
CrntPntDate = CrntPoint.Datelastmodified
If NewPntDate > crntpntdate Then
msgbox "An outdated version of WinPoint has been found!" & vbLf & "Please be patient while we update Point" & vbLf &" - Your friendly Mortgage IT Staff" & vbLf & "Click OK To update" WshShell.Run ("%ComSpec% /c " & "xcopy d:\zwinpoint\*.* w:\*.* /e/s/Y/R")
Else
End If
*********************************
11.WinPntINI.vbs – This file basically grabs some environment variables and pumps then into the INI file with a snippet I found on the internet. Allows me to update folders, standardize screen colors, etc. It also looks around for the winpoint.ini. It’s not slick, but it works.
'******************************************************************
'Script Name: WinPntINI.vbs
'Author: Larry
'Created: 9/04/03
'******************************************************************

'Script Intro: Perform script initialization activities
' Do Not Place an "Option Explicit" due to subroutines
on error resume next
'Script Body:

Dim WshNet, userName, tsSrvName, scrptVer, FSO, wshshl, winPntini(4), objEnv
Set WshShl = WScript.Createobject("WScript.Shell")
Set WshNet = WScript.CreateObject("WScript.Network")
Set FSO = Wscript.CreateObject("Scripting.FileSystemObject")

scrptVer = "3.08.2005" userName = WshNet.userName
tsSrvName = WshNet.ComputerName
profiledir = wshshl.ExpandEnvironmentStrings("%USERProfile%")
windowsdir = wshshl.ExpandEnvironmentStrings("%windir%")
winPntini(0) = "h:\windows\winpoint.ini"
winPntini(1) = windowsdir & "\winpoint.ini"
winpntini(2) = "c:\windows\winpoint.ini"
winpntini(3) = "c:\winnt\winpoint.ini"

'Script Body:
For Each x In winPntini
If (fso.fileexists(x)) Then
writeinistring "settings", "AutoSave", "1", x
writeinistring "User Information", "User", userName & " " & tsSrvName & " v" & scrptVer, x
writeinistring "Directories", "Templates", "p:\PNTTEMPL", x
writeinistring "Directories", "Folder0", "p:\ACTIVE", x
writeinistring "Directories", "Folder1", "p:\Closed", x
writeinistring "Directories", "Folder4", "p:\Prospects", x
writeinistring "Directories", "Folder5", "SENTINEL", x
writeinistring "Screen Colors", "Title", "0,0,128", x
writeinistring "Screen Colors", "Label", "0,0,0", x
writeinistring "Screen Colors", "SelectedFld/Btn/Box", "0,255,255", x
writeinistring "Screen Colors", "SelectedFldData", "0,0,0", x
writeinistring "Screen Colors", "CalculatedFldData", "128,0,0", x
writeinistring "Shortcut Button Info", "SmartList", "0", x

End If
Next
If tsSrvName = "TSSRV" Then
writeinistring "Directories", "Application", profiledir + "\winpoint", "h:\windows\winpoint.ini"
writeinistring "Directories", "User", profiledir + "\winpoint\user", "h:\windows\winpoint.ini"
End If

'Work with INI files In VBS (ASP/WSH)
'v1.00
'2003 Antonin Foller, PSTRUH Software, http://www.motobit.com
'Function GetINIString(Section, KeyName, Default, FileName)
'Sub WriteINIString(Section, KeyName, Value, FileName)

Sub WriteINIString(Section, KeyName, Value, FileName)
Dim INIContents, PosSection, PosEndSection

'Get contents of the INI file As a string
INIContents = GetFile(FileName)

'Find section
PosSection = InStr(1, INIContents, "[" & Section & "]", vbTextCompare)
If PosSection>0 Then
'Section exists. Find end of section
PosEndSection = InStr(PosSection, INIContents, vbCrLf & "[")
'?Is this last section?
If PosEndSection = 0 Then PosEndSection = Len(INIContents)+1

'Separate section contents
Dim OldsContents, NewsContents, Line
Dim sKeyName, Found
OldsContents = Mid(INIContents, PosSection, PosEndSection - PosSection)
OldsContents = split(OldsContents, vbCrLf)

'Temp variable To find a Key
sKeyName = LCase(KeyName & "=")

'Enumerate section lines
For Each Line In OldsContents
If LCase(Left(Line, Len(sKeyName))) = sKeyName Then
Line = KeyName & "=" & Value
Found = True
End If
NewsContents = NewsContents & Line & vbCrLf
Next

If isempty(Found) Then
'key Not found - add it at the end of section
NewsContents = NewsContents & KeyName & "=" & Value
Else
'remove last vbCrLf - the vbCrLf is at PosEndSection
NewsContents = Left(NewsContents, Len(NewsContents) - 2)
End If

'Combine pre-section, new section And post-section data.
INIContents = Left(INIContents, PosSection-1) & _
NewsContents & Mid(INIContents, PosEndSection)
else'if PosSection>0 Then
'Section Not found. Add section data at the end of file contents.
If Right(INIContents, 2) <> vbCrLf And Len(INIContents)>0 Then
INIContents = INIContents & vbCrLf
End If
INIContents = INIContents & "[" & Section & "]" & vbCrLf & _
KeyName & "=" & Value
end if'if PosSection>0 Then
WriteFile FileName, INIContents
End Sub

Function GetINIString(Section, KeyName, Default, FileName)
Dim INIContents, PosSection, PosEndSection, sContents, Value, Found

'Get contents of the INI file As a string
INIContents = GetFile(FileName)

'Find section
PosSection = InStr(1, INIContents, "[" & Section & "]", vbTextCompare)
If PosSection>0 Then
'Section exists. Find end of section
PosEndSection = InStr(PosSection, INIContents, vbCrLf & "[")
'?Is this last section?
If PosEndSection = 0 Then PosEndSection = Len(INIContents)+1

'Separate section contents
sContents = Mid(INIContents, PosSection, PosEndSection - PosSection)

If InStr(1, sContents, vbCrLf & KeyName & "=", vbTextCompare)>0 Then
Found = True
'Separate value of a key.
Value = SeparateField(sContents, vbCrLf & KeyName & "=", vbCrLf)
End If
End If
If isempty(Found) Then Value = Default
GetINIString = Value
End Function

'Separates one field between sStart And sEnd
Function SeparateField(ByVal sFrom, ByVal sStart, ByVal sEnd)
Dim PosB: PosB = InStr(1, sFrom, sStart, 1)
If PosB > 0 Then
PosB = PosB + Len(sStart)
Dim PosE: PosE = InStr(PosB, sFrom, sEnd, 1)
If PosE = 0 Then PosE = InStr(PosB, sFrom, vbCrLf, 1)
If PosE = 0 Then PosE = Len(sFrom) + 1
SeparateField = Mid(sFrom, PosB, PosE - PosB)
End If
End Function


'File functions
Function GetFile(ByVal FileName)
Dim FS: Set FS = CreateObject("Scripting.FileSystemObject")
'Go To windows folder If full path Not specified.
If InStr(FileName, ":\") = 0 And Left (FileName,2)<>"\\" Then
FileName = FS.GetSpecialFolder(0) & "\" & FileName
End If
On Error Resume Next

GetFile = FS.OpenTextFile(FileName).ReadAll
End Function

Function WriteFile(ByVal FileName, ByVal Contents)

Dim FS: Set FS = CreateObject("Scripting.FileSystemObject")
'On Error Resume Next

'Go To windows folder If full path Not specified.
If InStr(FileName, ":\") = 0 And Left (FileName,2)<>"\\" Then
FileName = FS.GetSpecialFolder(0) & "\" & FileName
End If

Dim OutStream: Set OutStream = FS.OpenTextFile(FileName, 2, True)
OutStream.Write Contents
End Function
*********************************

Occasionally a new user has to login twice to get the scripts to run correctly (It happens once every 3 or 4 months). I haven’t really tracked it down. The beauty of this setup is that I’ve never had a problem upgrading. I just start the whole process over. Login as Admin, change user /install, install point upgrade, copy c:\winpoint to d:\zwinpoint. When a user logs in, it automatically updates them and they are off and running. The only downside to upgrading is that the user looses a couple of setting (print groups) in point. Would be pretty easy to copy them out and back in after the upgrade, but I haven't found it to be a big problem.

I’ve used these scripts in my environment for awhile without any issues. Your mileage may vary.

Hope this is helpful.
Post #439
Posted 9/1/2005 7:25:05 AM


Sepal

Sepal

Group: Moderators
Last Login: Today @ 3:54:08 PM
Posts: 1,178, Visits: 9,173
Thanks for posting this.  There were a couple other posts on the old board with step by step instructions. But it looks like ezboard has lost that data.  I think many users will find this helpful.

Disclaimer:  This post carries no explicit or implied warranty. Nor is there any guarantee that the information contained in this post is accurate. It is offered in the hopes of helping others, but you use it at your own risk. The author will not be liable for any damages that occur as a result of using this post.
Post #440
Posted 9/6/2005 10:32:08 AM


Grand Poo-Bah

Grand Poo-BahGrand Poo-BahGrand Poo-BahGrand Poo-BahGrand Poo-BahGrand Poo-BahGrand Poo-BahGrand Poo-Bah

Group: Administrators
Last Login: 11/4/2008 8:29:36 AM
Posts: 255, Visits: 13,331
Thanks isupport, I pinned this topic so it's easily available for future users.



Disclaimer
: this post carries no explicit or implied warranty. Nor is there any guarantee that the information contained in this post is accurate. It is offered in the hopes of helping others, but you use it at your own risk. The author will not be liable for any damages that occur as a result of using this post.

Post #475
Posted 9/12/2005 10:37:43 AM
Forum Newbie

Forum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum Newbie

Group: Forum Members
Last Login: 2/7/2006 7:56:57 AM
Posts: 8, Visits: 9
That seems like a great solution.  It also seems like an awefully long way to go to do something fairly simple.  Here is what I did.

I have my users My Documents folder redirected to my AD Server to make it easy for me to back up their documents.  This is key to having what I do work.

In each user's My Documents folder will exist by default a WINDOWS directory.  You can install Point like usual and set up data folders like usual.  Then simply copy the winpoint.ini file into the users \my documents\windows folder

Works like a charm for me.  The tricky part is when you update Point the winpoint.ini file that each user has will be different and will want to upgrade Point for each user.  This is a simple fix too.  Update Point like usual and copy the new Winpoint.ini file over all the existing winpoint.ini files.

A lot less disk space is used.  Less to manage.  Less to worry about.  Less tech skill envolved.  Lets face it most of the people using Point have ZERO technology skills.

Post #556
Posted 9/12/2005 10:44:19 AM
Forum Newbie

Forum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum NewbieForum Newbie

Group: Forum Members
Last Login: 2/7/2006 7:56:57 AM
Posts: 8, Visits: 9
Looking at that script that creates the winpoint.ini file is sweet.  I have about 10 Data Folders that various users need various access too.  Being able to create teh winpoint.ini file on the fly based on AD Group membership will be a big help.

Nice find.

Post #557
Posted 9/12/2005 11:15:39 AM
Forum Guru

Forum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum GuruForum Guru

Group: Forum Members
Last Login: 9/8/2008 5:20:14 PM
Posts: 51, Visits: 183
You are absolutely right, for a small environment this will work fine. We used that method for a long time until we had 20 users on the Terminal Server. We found the following problems with just having a single winpoint\work directory:

* Occaisonally (several times a week) when people print, their printouts "step" on each other and you'll end up with a document that starts with one borrowers info and ends with another.

* When pulling credit, you only have one set of credentials that can be saved. So if someone saves their credentials, everyone will be using them over and over. I finally emptied the credentials and made the ini file where this info was saved read-only. Having seperate winpoint/work directories solves this.

* The ini file updates via VB are so that we don't have to worry about copying the winpoint.ini over and over again. I can make changes to people's ini file and not erase their recently used list and such. I could also change their ini file based on their grop membership, etc.

We looked at the disk requirements and it's just not that big of a deal now a days. Our TS server has ~250gb of RAID5 storage, so 50mb for Point per user to avoid the above types of problems is worth it. My concern now is how to integrate PDS into the mix...

I do agree with the fact that most installations of Point that I have run across have been installed by non-technical people, or consultants who don't specialize in the little quirks of an application and are more concerned with getting it running initially rather than dealing with all the issues later on (which is how I started).

Until Calyx really supports TS installations, which they never will (PDS is their remote solution), I haven't found many holes in the above installation method. Diskspace is cheap, I don't like wasting it, but it's not like I backup that folder in each users profile.
Post #558
Posted 1/12/2006 6:12:41 AM
Forum Member

Forum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum MemberForum Member

Group: Forum Members
Last Login: 1/13/2006 7:26:21 AM
Posts: 29, Visits: 59
Hello, in your discussion you reference having separate work directories.  I need to configure each user with their work directory but how do I have them to point to that path? I don't see that configuration in the script.


Best Regards,


Sonya
Post #2039
Posted 1/12/2006 7:08:10 AM


Supreme Being

Supreme Being

Group: Moderators
Last Login: 11/15/2008 10:00:24 PM
Posts: 835, Visits: 1,899
See isupport's comments from 9/12/05. You need to configure it such that each user has their own winpoint directory. The winpoint.ini contains an Application= line. You would point this path to the user's own winpoint folder, for example: h:\home\user_name\winpoint.  It might sound like a lot of disk space to have a separate winpoint for each user, but it's really not. A winpoint folder is about 50mb. Even if you 100 users, you're still using only 5GB which is still relatively inexpensive. If isupport's script is used, I believe it will seamlessly deploy Point updates to each user's winpoint folder when you need to install a new version.

Bryan
Point Product Manager
Post #2040