Suggest using either TSC_DATA_STORE=0 or TSC_DATA_STORE=1 bypassing user prompt as to whether they want to keep snaggit related data, 0 keeps it, 1 removes it. I also set the uninstall to "/qn" switch in Windows 7 because snagIT hooks into explorer.exe; without it the user gets prompted explorer will have to close or system may need a reboot.
If you need to make this a silent un-install (not upgrade) you need to edit your .mst and remove all references to the custom action called "Action_For_RemoveDataStorePrompt". Otherwise upon removal it will require user input to save or remove files captured by the application.
To inject a profile once snagit has already been launched and to preserve existing snagit profiles. Specific to SnagIt 10 (though easily modified for prior versions)
[1] Registry sections that are need, Note* I have cutoff the majority of this, the idea is to know what keys are needed.
;This sets the DEFAULT profile within SnagIt
[HKEY_CURRENT_USER\Software\TechSmith\SnagIt\10\]
"LastLClickedProfile"="{01034A99-978B-4770-A668-38E0327EDBAD}"
;Need to append the GUID of your profile here. Write Script to retrieve current value and then append.
;Notice the {01034A99...} is at the end.
[HKEY_CURRENT_USER\Software\TechSmith\SnagIt\10\Groups\{MyProfiles}]
@="My Profiles"
"ProfileList"="{01034A99-978B-4770-A668-38E0327EDBAD}*"
;Need to append the GUID of your profile here. Notice the {01034A99...} is at the end and the trailing " *"
[HKEY_CURRENT_USER\Software\TechSmith\SnagIt\10\Profiles]
"ProfileList"="<Untitled>*{v10_DefCapture}*{v10_DefDesktop}*{v10_DefClipboard}*{v10_DefPDF}*{v10_DefCaptureText}*{v10_DefFreehand}*{v10_DefMenu}*;{Printer}*{01034A99-978B-4770-A668-38E0327EDBAD}*"
"CurrentProfile"="<Untitled>"
;This is the framework of the snagIt profile
[HKEY_CURRENT_USER\Software\TechSmith\SnagIt\10\Profiles\{01034A99-978B-4770-A668-38E0327EDBAD}]
"ProfileName"="HardCopy - Active Window - SendTo Printer"
***this clearly has more keys but i did not want this posting 8 miles long
Warning: SnagIt MUST be closed when importing the registry keys.
Caution: Consider if no profiles exist (i.e. just the Capture section contains the defaults and MyProfiles is empty). The “*” is important too!
Script to read in and append the profile (Note, snagit has Groups and Profiles). On first launch, groups is defined. Hint: SnagIt.reg can be triggered/pulled in if you simply clear out the profile information under HKCU\Software\Techsmith\SnagIt 10. If you do not know about SnagIt.reg file creation, read other posts to learn about SnagIt profile creation for "First Launch customizations"
Const HKEY_LOCAL_MACHINE = &H80000002
Const HKEY_CURRENT_USER = &H80000001
strComputer = "."
strHardCopyProfilGUID = "{01034A99-978B-4770-A668-38E0327EDBAD}*"
Dim strValue
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _
strComputer & "\root\default:StdRegProv")
'==== Group
strKeyPath = "Software\TechSmith\SnagIt\10\Groups\{MyProfiles}"
strValueName = "ProfileList"
oReg.GetStringValue HKEY_CURRENT_USER,strKeyPath,strValueName,strValue
'Wscript.Echo "Value of Groups ProfileList = " & "[" & strValue &"]"
'Stamping the new ProfileList Value
strNewProfileListValue = strValue & strHardCopyProfilGUID
'WScript.Echo "Combined Group ProfileList will be: " & strValue & strHardCopyProfilGUID
oReg.SetStringValue HKEY_CURRENT_USER,strKeyPath,strValueName,strNewProfileListValue
'WScript.Echo "New Value of Group ProfileList = " & "[" & strNewProfileListValue &"]"
'------------------------------------------------------------------------------------------
'=== Profiles
strKeyPath1 = "Software\TechSmith\SnagIt\10\Profiles"
strValueName1 = "ProfileList"
oReg.GetStringValue HKEY_CURRENT_USER,strKeyPath1,strValueName1,strValue1
'WScript.Echo"Value of ProfileListing = " & strValue1
'Stamping the new ProfileList Value
strNewProfileListValue1 = strValue1 & strHardCopyProfilGUID
'WScript.Echo "Combined ProfileList will be: " & strValue1 & strHardCopyProfilGUID
oReg.SetStringValue HKEY_CURRENT_USER,strKeyPath1,strValueName1,strNewProfileListValue1
'WScript.Echo "New Value of ProfileList = " & "[" & strNewProfileListValue1 &"]"
Using the snagit.msi, the QB switch seems to hang the install until there is screen interaction. I changed it to /q and it went fine.
it should have been so easy...
Sequenced (App-V v5) OK but did not work during testing, licensing info not coming through, had a little play, turns out it needs HKCU keys for licensing. It all works ok as admin, so maybe it checks them with a write, which does not work.. (but ok on the seq with admin creds)
so add
[HKCU\Software\TechSmith\Snagit\10]
"Registeredto"="Your Company"
"RegistrationKey"="your supplied- number"
If you want the Send, to output options to work, remove the exclusions to LocalAppData before you sequence.
But delete the file: %localAppdata%\techsmith\snagit\statstore\snagit900.sdf
A command line setting the software key is (the variable %~dp0 is used for source directory):
MsiExec.exe /i "%~dp0snagit.MSI" /quiet TSC_SOFTWARE_KEY=<Software Key>
View inventory records anonymously contributed by opt-in users of the K1000 Systems Management Appliance.