/build/static/layout/Breadcrumb_cap_w.png

Dragon NaturallySpeaking 8

I am trying to insert the Product Serial number into a MST for this app. Admin Studio shows a Setup Property named ProductID. I am assuming that this is where I would insert the Serial number. I can't figure out what format to put it in as. There is also a Setup Property named PID Template with 12345<###-%%%%%%%>@@@@@ as it's value. Is this property an example of how to enter the serial number? Is so, I don't see how a Serial Number fits this format. I have tried the serial number with dashes without dashes and when the app installs i get a message that the serial is not the right length or something to that effect.

Any help would be appreciated.

0 Comments   [ + ] Show comments

Answers (7)

Posted by: nheim 17 years ago
10th Degree Black Belt
0
Hi Steve,
don't know NS8, but the Property ProductID is only intended to hold the Serial Number. But this has not necessary to be the case. You should capture the dialog sequence and look, which properties change.
Admin Studio and Wise have tools for this.
Hope this gives you some ideas.
Regards, Nick
Posted by: AB 17 years ago
Purple Belt
0
I did this recently...
To get the silent install to work required setting the Public Property 'SERIALNUMBER' at the command line.
As we only have a few instances of this app we created a script that does the following:
Gets the ComputerName
Opens a CSV lookup file and checks for a match with the ComputerName column
If a match exists it reads the SerialNumber Column which contains the key 12345-123-1234-1234-12
Then the msiexec command line is created to include this information
msiexec /i "NatSpeak.msi" SERIALNUMBER="****-****" /qn
Not glamourous but it does work...
Regards,
Al
Posted by: SteveCupp 17 years ago
Senior Yellow Belt
0
Al. . . "Not glamourous"????? that idea is very cool!!!!! I am not too well versed in VB scripting, but I think I could figure it out. I would still like to see a sample of the script you are using, if you wouldn't mind. . . either way THANKS loads for the idea. . .
Posted by: AB 17 years ago
Purple Belt
0
Kind words Steve but you haven't seen the script yet :)
The idea came about for boxed products that require Activation over the net with a single licence, blah blah blah
Funnily enough, it was my last day on the contract today and I hope I've squirrelled away the script somewhere but if not, I'll ask those dashing chaps I worked with to send me them along with the security relaxation required for locked down users to perform the 'Activation'.
We used variants of the script for Adobe products as well - I did mean to make it more generic and therfore easily re-usable but you know, the time constraint thing...
Bear with me (grrr) and I'll try to source and post all you need for early next week-
I've had a few glasses of wine and mentioned Adobe so I best cut this short before I begin ranting about their licensing methodology... ha...
Have a good weekend sir
Regards,
Al
Posted by: SteveCupp 17 years ago
Senior Yellow Belt
0
Al,

I've been working on my script and I think I have a working solution. I am testing it as I type this and it looks very promising. I would still like to see how you did this in scripting terms. I haven't worked much with text files but I reviewed some old scripts I had and was able to cobble it together thx to your very cool idea. If you are able to get a copy of what you used all the better. . . . [:D]

Thx again,

Steve
Posted by: AB 17 years ago
Purple Belt
0
Steve - I'll sort it out for you as soon as I can - it's just a bit difficult as I'll now looking for a new contract...
The basics are there - but the script I developed thanks to a great colleague and friend made it more flexible so you could set up to four Public Properties on the comand line from a single CSV file - thanks Phil
But really, you should be relaxing with loved ones now and saving the planet tomorrow - or on Monday... :)
I'm still staying local to where I was working so I might try and pop in tomorrow - hi, how are you, missing you already, oh, and by the way, I just need to grab this vb script I made, blah blah, love you , yeah bye, etc etc
You get the drift
Glad you think the idea is cool
Some of the guys I worked with were uming and ahing but hey, it's the only way to solve the silent install issue...
That's where the term 'not glamourous' came from...
Take care sir
Al
Posted by: AB 17 years ago
Purple Belt
0
Steve,
Here is the script...
Near the top set the msi and mst names.
strGetKey with be the ComputerName - it's case sensitive, so remember that when you create your csv file.

CSV contents:

,PROPERTY1,PROPERTY2,PROPERTY3,PROPERTY4
Key,SERIALNUMBER,,,
D5697VM2,,,,
D5638,,,,

Create a text file with these entries and rename it Licence.csv

The first row is the description field and shows you can set up to four Public Properties at the command line.
Here we have set property1 to SERIALNUMBER, so this column will contain the serial keys in the format 1234-123-1234-12
The column 'Key' is the ComputerName - case sensistive - assign your serial keys to computernames...

Say you wanted to set ALLUSERS=1, ROOTDRIVE=C:\ at the command line, the csv file would look like this:

,PROPERTY1,PROPERTY2,PROPERTY3,PROPERTY4
Key,SERIALNUMBER,ALLUSERS,ROOTDRIVE,
CL-D5697VM2,,1,C:\,
CL-D5638,,1,C:\,

Your script, the licence.csv file and msi and associated files should be in the same directory.
We were using Marimba to deploy so our package dropped all the relevent files to a local folder and then called the vbs script.

At the bottom of the script where the msiexec command line is constructed I've set ADDLOCAL to install the Features requested by the client.
This could of course have been added to the csv file... the scope is there to make this more reusable

Have fun.
Regards,
Al


I nearly forgot security relaxation for a locked down environment...
C:\Program Files\ScanSoft\NaturallySpeaking8\ Users:Modify
HKLM\Software\Dragon Systems\ Users:FullControl
HKLM\Software\Licences\ Users:FullControl
HKLM\Software\Scansoft\ Users:FullControl

And I think there's a Launch Condition you may need to remove from the MSI - hope this helps :)


Option Explicit
'On Error Resume Next
Dim objFSO, objFSOLicence, objFileLicence, objKey, strMSI, strMST
Dim strCurrentDir, strLicenceCSV, strText, arrText, strKey, strGetKey
Dim strProperty1, strProperty2, strProperty3, strProperty4, strAddCommand
Dim strPropertyValue1, strPropertyValue2, strPropertyValue3, strPropertyValue4


strMSI = "Dragon NaturallySpeaking 8.msi"
strMST = "Dragon NaturallySpeaking v8.0 R1.0.0.mst"


Const intForReading = 1
Set objKey = CreateObject("WScript.NetWork")
Set objFSO = CreateObject("Scripting.FileSystemObject")
strCurrentDir = objFSO.GetParentFolderName(WScript.ScriptFullName)

strLicenceCSV = (strCurrentDir & "\Licence.csv")

strGetKey = objKey.ComputerName
'MsgBox strGetKey

Set objFSOLicence = CreateObject("Scripting.FileSystemObject")
Set objFileLicence = objFSOLicence.OpenTextFile(strLicenceCSV, intForReading, True)

strText = objFileLicence.ReadLine
strText = objFileLicence.ReadLine
arrText = Split(strText, ",")

strProperty1 = arrText(1)
strProperty2 = arrText(2)
strProperty3 = arrText(3)
strProperty4 = arrText(4)

Do While Not objFileLicence.AtEndOfStream
strText = objFileLicence.ReadLine
arrText = Split(strText, ",")
strKey = arrText(0)
strPropertyValue1 = arrText(1)
strPropertyValue2 = arrText(2)
strPropertyValue3 = arrText(3)
strPropertyValue4 = arrText(4)

If strGetKey = strKey Then
If strProperty1 <> "" Then
strAddCommand = (strAddCommand & strProperty1 & "=" & """" & strPropertyValue1 & """")
End If
If strProperty2 <> "" Then
If strProperty1 <> "" Then
strAddCommand = (strAddCommand & " ")
End If
strAddCommand = (strAddCommand & strProperty2 & "=" & """" & strPropertyValue2 & """")
End If
If strProperty3 <> "" Then
If (strProperty1 <> "" OR strProperty2 <> "") Then
strAddCommand = (strAddCommand & " ")
End If
strAddCommand = (strAddCommand & strProperty3 & "=" & """" & strPropertyValue3 & """")
End If
If strProperty4 <> "" Then
If (strProperty1 <> "" OR strProperty2 <> "" OR strProperty3 <> "") Then
strAddCommand = (strAddCommand & " ")
End If
strAddCommand = (strAddCommand & strProperty4 & "=" & """" & strPropertyValue4 & """")
End If

Call InstallMSI(strAddCommand, strCurrentDir, strMSI, strMST)
End If
Loop

objFileLicence.Close
Set objFSOLicence = Nothing
Set objFileLicence = Nothing

Sub InstallMSI(strAddCommands, strCurrentDirectory, strMSIName, strMSTName)

Dim strRun
Dim objShell

Set objShell = CreateObject("WScript.Shell")

' Create Command Line

strRun = ("msiexec /i " & """" & strCurrentDirectory & "\" & strMSIName & """" & " TRANSFORMS=" & """" & strMSTName & """" & " " & strAddCommands & " ADDLOCAL=Tutorial,Speech,ENX,ENG,IND,NatSpeak,SEA,TTS,TutENX /qn /l*v " & """" & strCurrentDirectory & "\MSIInstall.log" & """")
'msgbox strRun
Call objShell.Run(strRun, 1, True)

Set objShell = Nothing

End Sub
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
 
This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ