App-V troubleshooting–a common view of logs

App-V 5 has gotten rid of the previously used text-based format for log-files and now provides multiple event logs, some hidden under the “Show analytic and debug logs”, which can be reviewed individually to identify issues.

In reality, we are still talking about a log to catch an issue and since its an issue – it might be hard to know where to look. When we enable analytic and debug logs there are two steps to get the output. First, we enable the debug logs to see the in the tree-list;

image

Once they are visible, we need to enable them to get any output. And oh boy, there is a lot of them.

image

Each log can be enabled, individually. You will always have to enable a log to view it anywhere, and to avoid excessive usage of the logging functionality – recommended approach is to disable the debug-logs once the troubleshooting scenario is completed.

So now there are X amount of individual event logs that we can jump between in order to identify what happens. Lets try to combine them into one common view – something that will make life easier;

image

We now have the option to select a few criteria to which can combine events from any log to a common view – allowing us to view a common timeline of all events.

image

App-V does provide us with a lot of logs (which is great!), so once we click OK – we get this warning;

image

Finally – we can name our view;

image

Now we have a custom view that have joined all the App-V events into a single view! Great for tracking in a difficult situation!

Appsense Environment Manager–fast logon

Some general rules of the Appsense Environment Manager and howto to implement a fast logon. Most of this is available in version 8.3 and upwards.

Personalize or Policy

The order of which things comes down is;

Personalization data
Policy

If a value is both persisted in personalization data and then enforced via policy – it is essentially beeing set twice. Pick one – don’t personalize or don’t enforce.

Avoid including to much in Global settings for Personalization or for each app. If you add an exclusion or remove an inclusion at a later stage – it will not clean out any settings already in the database. Whats in the database will always be brought down to the client.

(things can be cleaned out of the database – but that’s tedious)

Order items

Items in a policy can be placed in multiple ways and there aren’t any obvious structure todo it if you are brand new. Here comes some general rules of the trade;

Long running actions should start of early – so place them at the top. As early as possible.

Scripts needs to be extracted and then executed. They cost time. Avoid unless necessary. Appsense native functions are faster.

If one action fails (setting an environment variable as an example), all actions depending on that will be stopped. To avoid child nodes still executing, check Stop if failed. (correction by Bryan Chriscoli)

Since 8.1, the threads are dynamically created. You can have 100 parallel actions and it will create 100 threads, child’s actions/nodes are then limited to 10.
(correction by Brian Chriscoli)

Logon vs Process start

Avoid setting all application specific settings during logon, if its only effecting one (or a set of) applications use the Process Start (Office for example)

Use the condition to set a process trigger to only run once for the session to avoid additional startup time for applications

Teamviewer 8, Licensing and App-V

If you sequence Teamviewer 8 with App-V 4.X there has previously been a recommendation to use the portable version to allow an easy path. The steps are outlined in a post on Appvirtguru and can be followed by anyone. As an alternative – you can use the traditional install, with a few recommendations that will ease the path forward.

As always – use MSI-files as the primary source for any installation. Retrieve Teamviewer MSI-files here from teamviewer.com

Pre-sequencing

Perform a traditional installation and setup your configuration. Once the setup is completed and all the configurations are as you like them – export them using the Advanced options;

image

Choose Export options to a *.reg-file and also choose to include your licensing information.

Name the file TeamViewer_Settings.reg and place it in the same folder as the Teamviewer MSI-file.

This will be your installation-kit.

Sequencing

Initiate the sequencing process and install the MSI-file for the Teamviewer Admin. Do not start the Teamviewer during the sequencing process at any stage.

Post-sequencing

The below registry key is part of the export performed in the pre-sequencing steps. You can extract that and insert it into the package. My recommendation is to set this within the OSD-file to ensure that its always present. There is no value here, this has to be retrieved from your own export.
The below key is from a 64-bit system


Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432node\TeamViewer\Version8]
"LicenseKeyAES"=hex

European App-V User Group 2013 – video #1

There will be more videos, unfortunately not as many as we would like. Here comes the first promo for the European App-V User Group;

European App-V User Group 2013

Internet Explorer 10 fails to install

As I am still running Windows 7 simply due to the lack of time to update my main computer, beeing able to update to to Internet Explorer 10 was simply a great opportunity to improve my experience on browsing the web. Unfortunately the installation experience failed miserably. The install wizard looped through in no-time at all, restarted Internet Explorer. No error, unfortunately – no Internet Explorer 10 either.

To customize the experience for deploying it to an enterprise you can use the Internet Explorer Administration Kit. A more detailed explanation of howto provide it via an image is also available via Technet.

Lets continue with the installation issue… first of all, I  verified that all prerequisites were installed. This could easily be done by visiting a already available knowledgebase article that states all the prerequisites and provides easy to access links for all of them. Unfortunately this did not alter the behavior in anyway and the next article up is Troubleshooting a failed installation of Internet Explorer 10. The article did provide some general insights, but none of the steps did provide any alteration of the behavior – it seems to more provide content with an end-user in mind then an IT administrator. There, lets review the Technet article Troubleshooting Internet Explorer 10.

The following is listed in the article;

If Setup fails, you can troubleshoot errors by using the Setup log files:

  • IE10_main.log
  • IE10_NR_Setup.log
  • IE10_uninst.log
  • cbs*.log
  • WU_IE10_LangPacks.log

Great! Lets start digesting! I could only locate the IE10_main.log within C:\Windows

Here is a cut out of the log that seemed interesting;

image

Whats so special about the above? C:\Windows\sysnative is not a folder I have ever seen.

The first command-line looks like this;

00:03.214: ERROR:   Unable to create process ‘C:\Windows\SysNative\dism.exe /online /add-package /packagepath:C:\Windows\TEMP\IE147AE.tmp\IE10-neutral.Extracted.cab /quiet /norestart’, errorID = 0x00000000 (0)

The above tells me;

  • It installs Internet Explorer 10 using DISM
  • It extracts all files necessary to a specific sub-folder within c:\windows\temp\
  • I can most likely install this on my own

I restarted the installer, located the temp-folder and extracted all the files. I simply copied the entire lot to c:\windows\temp to ease my next step. This is what the folder looks like;

image

I removed the c:\windows\sysnative and the sub-folder from temp to get the following commands;

dism.exe /online /add-package /packagepath:C:\Windows\TEMP\IE10-neutral.Extracted.cab /quiet /norestart

dism.exe /online /add-package /packagepath:C:\Windows\TEMP\Spelling_en\Windows6.2-KB2764916-x86.cab /quiet /norestart

dism.exe /online /add-package /packagepath:C:\Windows\TEMP\Hyphenation_en\Windows6.2-KB2764913-x86.cab /quiet /norestart

The packages installed and after a reboot – finally!

image