Terminal Server ini profile issues

We have recently moved to v11 and have to use a different Tessitura shortcut on our 2008 terminal servers that specfies a seperate ini file for each user,  with a hostname value we have to enter and place in their profile manually. This produces alot more work for or department and  can't imagine this is the correct model for our terminal servers being that we did not have to do this for v10. I would like to know how to properly use Tessitura on our terminal servers so the users can use the same ini or how the seperate ini creation process is automatic. I tried usng the %username% value for hostname and saving it in the default profile to automatically create it for new users but that variable is not working properly. Any help is apprecated. Thanks

 

Current Terminal Server shortcut value:  "C:\Program Files\tessitura\TessituraClient\Tessitura.exe" %USERPROFILE%\WINDOWS\Tessitura.ini

This is different that the shortcut used on our desktops.

 

Parents
  • Depending on the version of windows you use will determine where %USERPROFILE% will take you.  On windows 2008 it will take you to "C:\Users\<your usersname>" and on windows 2003 it will take you to "C:\Documents and Settings\<your username>"

    So unless you have a windows folder in your user profile it won't work.  We tend to put the Tessitura.ini files at the root of the user profile.  So using my profile as an example mine would be "C:\Documents and Settings\nick.insell\tessitura.ini"  or %USERPROFILE%\tessitura.ini.

     

    Does that make sense?

  • Still does not work. It throughs an error :   "This PC (%usernme%) does not have a location assigned."

    Maybe our ini does not have the right coding:

    [sqlca]

    Hostname=%username%

    MasterIniFilePath="\\TESS\Tessitura\StartUp\tessitura_master.ini"


    [Security Frame]
    State=Normal
    Width=4576
    Height=2912
    X=1413
    Y=164
    [Frame]
    State=Maximized
    Width=3904
    Height=3028
    X=-4672
    Y=448
    Scaling=100
    [Reports Frame]
    Width=2258
    Height=2392
    X=1371
    Y=108
    [TicketPrinter]
    Default=

    Thanks

  • Hi David,

    I do not think you can use a variable substitution, like %username%, in the INI file. Here is what I did to help automate this:

    (1) Created a template tessitura.ini file in a specific location with hostname set to, "\USERNAME\".

    (2) Wrote a Kixtart script that does the following:

     

    • Checks for the existence of %appdata%\Tessitura folder. If it doesn't exist, the script creates it.
    • Checks for the existence of %appdata%\Tessitura\Tessitura.ini. If it doesn't exist, the script copies the template to this file. If then substitutes, "\USERNAME\" for the current user's username.

     

    (3) Starts Tessitura.

     

    For Tessitura shortcuts, we use this script to start Tessitura and that eliminates the hassle of having to manually create the Tessitura.ini file for each user. We have a similar script for our test environment as well. Pretty much the same, but it creates Tessitura_test.ini instead of Tessitura.ini.

    This could be done in most any scripting language. I used Kixtart because we already had some previously written stuff using it here.

    I've uploaded Start_Tessitura_Live.kix to my folder. Feel free to take a look and adapt for your usage. Note that we store the Tessitura software and scripts on a D: volume, so you would need to modify it with the appropriate locations that you use.

    Thanks,
    David 



    [edited by: David Frederick at 12:52 PM (GMT -6) on 15 Oct 2012]
  • Former Member
    Former Member $organization in reply to David Frederick

    Hi David

    We do much the same thing as David F, but using plain vbscript to start Tess, creating a new ini file from a template, using the user's login as the host name. Our version is in my files here, if you'd like a vbs  sample as well.  http://www.tessituranetwork.com/Community/members/kenmcswain5454/files/Tessitura_5F00_start.txt.aspx

    You do have to still enter the user's login into tx machine location,of course.

    Ken

  • Thanks to everyone for the input. I was able to use Ken's vbs template ini method to fix our issue.

Reply Children
  • Hi Guys, and especially Ken,

     

    I've setup a vbs script based on yours Ken (thanks) to create an ini for each user from a Template.

    I've pasted the script at the end of this post.

     

    However, every time we run Tessitura we get and error:  The process cannot access the file 'C:\Users\dara.hogan\AppData\Roaming\Tessitura\Sync.log' because it is being used by another process.

    If we close this error we can still log into Tessitura, but I'd like to prevent the error.

    Do you guys have any idea what might be causing this error?

     

    many thanks, Dara

    -------------------------------------------------------------------

    ---------START VBS TessituraStart SCRIPT----------

    -------------------------------------------------------------------

     

    ' Notes

    ' We have a folder called V:\startup on a shared drive which holds all of the pieces for this stuff

    ' (including this file)

    ' Specifically, it holds a template tessitura.ini file (in the UserINIFiles\_Template directory), with a "Hostname=TermServer" line in it

    ' and we put our Tessitura client files in <<C:\Program Files\Impresario\Client\>>

     

     

    ' --- Global Declarations ---

     

    Dim oWshShell

    Dim ofso

    Dim file

    Dim username

    Dim sStartupCommand

    Dim sSyncCommand

    Dim oWshNetwork

    dim sLoginName

    dim sTessLogin

    Dim sUserIniLocation

    Dim sUserIniFile

    Dim sBaseIniFile

    Dim sHostname

    Dim oParmFile

    dim strParmFileText

    dim sReplaceText

    dim dbconn, connect

    '

    Set ofso = CreateObject("Scripting.FileSystemObject")

    Set oWshShell = CreateObject("Wscript.Shell")

    Set oWshNetwork = CreateObject("Wscript.Network")

     

    ' this is here in case of odd usernames which need conversion (there aren't any at the moment)

    sLoginName = oWshNetwork.UserName

    sTessLogin = sLoginName 

     

    sHostname = "Hostname=" & sTessLogin

    sUserIniLocation = "V:\Startup\UserINIFiles\" & sLoginName & "\"

    sUserIniFile = sUserIniLocation & "Tessitura.ini"

    sBaseIniFile = "V:\Startup\UserINIFiles\_Template\Tessitura.ini"

    sReplaceText = "Hostname=TermServer"

    sSyncCommand = """V:\Startup\TessituraSyncTerm\TessituraSync.exe"""

    sStartupCommand = """C:\Program Files\Impresario Client\Tessitura.exe""" & " " & sUserIniFile

    connect = "Driver={SQL Server};Server=ABBEYVTESSPROD01;database=impresario;uid=securecheck;pwd=securecheck"

    ' Run the following on dB to give extra rights to securecheck: GRANT EXECUTE ON [dbo].[LP_MACHINE_LOCATION_UPDATE] TO [securecheck]

     

     

    ' 1 check whether the impresario appdata folder exists for this user+

    ' 2 if it doesn't, create it

     

    if not ofso.folderexists(sUserIniLocation) then

    'wscript.echo ("no folder")

    ofso.createfolder(sUserIniLocation)

    end if

     

    ' 3 check whether the tessitura.ini file is there

    ' 4 if it isn't, then grab a default copy and save it,

    'wscript.echo (sUserIniFile)

     

    if not ofso.fileexists(sUserIniFile) then

    'wscript.echo ("creating file")

    ofso.copyfile sBaseIniFile,sUserIniLocation

     

    ' 5  put username in as hostname 

    set oParmFile = oFSO.openTextFile(sUserIniFile)

    strParmFileText = oParmFile.readall

    oParmFile.close

    strParmFileText = replace(strParmFileText, sReplaceText, sHostname)

     

    set oParmFile = oFSO.openTextFile(sUserIniFile,2)

    oParmFile.write(strParmFileText)

    oParmFile.close

    end if

     

    ' 6 run the TessituraSync command to update PBVM and client folders

    oWshShell.run sSyncCommand

     

    ' 7 insert to tx_machine_location if necessary

    Set dbconn = CreateObject("ADODB.Connection")

    dbconn.Open connect

    dbconn.Execute("EXEC LP_MACHINE_LOCATION_UPDATE @machine_name=""" & sLoginName & """")

     

     

    ' 7 go to the startup command

    oWshShell.run sStartupCommand

     

  • Former Member
    Former Member $organization in reply to Dara Hogan

    Hi Dara

    We don't get that error. That is presumably because we don't do the file sync operation on the terminal servers as part of the startup.

    We decided early on that that it wasn't necessary, or desirable, to do that check/sync every time someone started up a Tess session on the terminal server. Changes to the Tess files are fairly infrequent, there are only a few Terminal servers to update, and it actually seemed better to do the file refresh during an upgrade in a more controlled way.

    So we sync the Tess client  files on the termservs (and other servers) manually, as the final step in an upgrade, or occasionally at other times. At first we used an admin login with a different startup script that did do the sync, but then we just started copying the client/PBVM  files manually each time. 

    Ken

     

     

  • Thanks Ken,

    That makes sense.

    We have some clients on Terminal Services but must clients are still traditional PC setup. I was trying to have a 'one size fit's all' Tessitura shortcut, but maybe I'll go with one shortcut for TS clients on one for traditional.

     

    thanks for you help,

    Dara