Issue in File association in CMTrace tool
Hi
I am trying to sequence CMTrace tool. During monitoring phase I have associated .Log file to open by default opening under CMTrace tool. I checked virtual registry as well and found log association there. But when I install appv file on appv client machine on first launch it says do you want to associate log file to CMTrace. Simultaneously what I can see that log file were already associated with CMTrace. Then why this pop up is coming on first launch on each new user. I found appv association are enabled in deployment config XML as well as in userconfig.xml.
Please help me on this with your suggestions
0 Comments
[ + ] Show comments
Answers (2)
Please log in to answer
Posted by:
rileyz
7 years ago
Do you see the file type association to cmtrace.exe in the FTA tab after you sequence CMTrace?
If not, you can just add the association to the package at this point.
If not, you can just add the association to the package at this point.
Comments:
-
Yes I can see FTA is being set to CMTrace - Viveks 7 years ago
-
Hmm, had a look. Defo a procmon job. Its something to do with the state of the package, cos if you reset the app-v package the defect returns. I cant find what file or registry its looking for though...hence the procmon. Will have a look when I have more free time. - rileyz 7 years ago
Posted by:
rad33k
7 years ago
I've made a quick check and it looks like you need to set
Even if association works fine and you have got defined in the registry ("HKCU\Software\Classes\Log.File\...\command\") entry with correct path to virtualized CMTrace.exe file (e.g. C:\CMTrace.exe), application detects that it is started from AppV cache folder ("C:\ProgramData\App-V\ID...\..\CMTrace.exe") and asks to replace open command in the registry.
If you hit 'Yes' while testing your current appV package and open regedit.exe (Start -AppvVirtualProcess -AppvClientObject (Get-AppvClientPackage "**YOUR APPV PACKAGE NAME***") regedit.exe.exe) then navige to: HKEY_CURRENT_USER\Software\Classes\Log.File\shell\open\command\ you would get what I'm talking about.
"HKEY_CURRENT_USER\Software\Microsoft\Trace32\Register File Types" to "0" (REG_SZ)in your AppV package.
Even if association works fine and you have got defined in the registry ("HKCU\Software\Classes\Log.File\...\command\") entry with correct path to virtualized CMTrace.exe file (e.g. C:\CMTrace.exe), application detects that it is started from AppV cache folder ("C:\ProgramData\App-V\ID...\..\CMTrace.exe") and asks to replace open command in the registry.
If you hit 'Yes' while testing your current appV package and open regedit.exe (Start -AppvVirtualProcess -AppvClientObject (Get-AppvClientPackage "**YOUR APPV PACKAGE NAME***") regedit.exe.exe) then navige to: HKEY_CURRENT_USER\Software\Classes\Log.File\shell\open\command\ you would get what I'm talking about.
Comments:
-
To expand on rad33k comments.
You need to edit the *external DeploymenConfig to write the registry key on launch. I recommend the StartVirtualEnvironment XML tag.
The command to write key looks like this, just change the GUIDs to your package. http://pastebin.com/2nKn1EFw
The DeploymentConfig XML should look like this http://pastebin.com/G1vrTQ6c
*We need to use the external DeploymenConfig because the version GUID is pumped everytime the package is saved.
You can do this on the fly with a in package script but it requires pretty elegant scripting. The script would find its path, pull the GUIDs, use the GUIDS to write the reg key, then lauch cmtrace. You would change the start menu shortcut to launch the script. - rileyz 7 years ago-
Hi,
I tried above steps but still I am able to see pop up coming at first launch.
Any other suggestions please - Viveks 7 years ago-
Could you please provide more details on AppV version, CMTrace version and OS that you are working?
I've checked it on
AppV 5.1 (10.0.14393 from Windows 10 ‘Anniversary Update’ v1607 ADK)
CMTrace 5.0.7804.1000
Windows10.
Maybe other CMTrace releases uses some other regs (unlikely) - in the mentioned above version, "HKEY_CURRENT_USER\Software\Microsoft\Trace32\Register File Types" = 0 (REG_SZ) is enough to suppress file association pop up. - rad33k 7 years ago -
-
Can you share your CMTrace file somehow (gdrive, onedrive etc.)? I'm curious if HKCU entry works natively with this version - if it works natively then I do not see any reason why it should not work in appV. - rad33k 7 years ago
-
Can you download from
https://www.microsoft.com/en-in/download/details.aspx?id=50012 - Viveks 7 years ago -
There is a different version but it works great with mentioned above HKCU key.
I've simply captured MSI installation and just added mentioned above HKCU key and it looks good for me:
https://1drv.ms/u/s!AtSa4QTzeIIBhVuAm2MlCZ76vZ_i
Can you confirm that you set "HKEY_CURRENT_USER\Software\Microsoft\Trace32\Register File Types" = 0 in your appV package? - rad33k 7 years ago -
Yes my appv package contains the above registry in appv file. Even I tried to add same key through deployment config xml - Viveks 7 years ago
-
Good to hear That :) Have you tested your package on a clean machine (without CMTrace available locally)? Have you tried the package provided by me? I'm asking because mentioned HKCU key Defines if CMtrace checks the default file association or not so if you are sure that "Save File Types" is set to 0 and virtualized CMTrace is started I have no idea why it is not working as expected. - rad33k 7 years ago
-
Thanks for providing the file.
I tested on clean machine. I am yet to test your package and I think instead of Save File type you are talking about Register File type - Viveks 7 years ago -
Yep, that's right ;) - rad33k 7 years ago
-
I found one difference in sequencer registry is string whereas the same registry convertes into dword on client when I change to string it work. Why there is difference - Viveks 7 years ago
-
I've never experienced such issue with registry data type conversion on clien's publishing. Does it occur for both packages (your and mine)? Have you tried to re-sequence it once again? How about other reg entries? - rad33k 7 years ago
-
Yes I resequenced and found all registry are in dword now - Viveks 7 years ago