GiDWiM Guide Application Delivery and Virtualization News. Citrix, Microsoft and VMware virtualization news and support site. Your source for the latest Citrix, Application Delivery Guides, Citrix XenServer Guides, Citrix XenApp Guides,Microsoft,VMware,VDI,Cloud Computing, Hyper-V,ESX,Citrix Application Virtualization and Streaming and downloads http://www.ervik.as/index.php/thegidwimguide-mainmenu Thu, 09 Sep 2010 20:41:08 +0000 Joomla! 1.5 - Open Source Content Management en-gb Citrix XenApp 6 and Remote Desktop Services Tuning Group Policy admx for Windows 2008 R2 http://www.ervik.as/index.php/thegidwimguide-mainmenu/2979-citrix-xenapp-6-tuning-group-policy-admx-for-windows-2008-r2 http://www.ervik.as/index.php/thegidwimguide-mainmenu/2979-citrix-xenapp-6-tuning-group-policy-admx-for-windows-2008-r2 Today, I finished up the testing and implementation phase of the new ADMX file for tuning of Citrix XenApp 6 and Remote Desktop Services Tuning Group Policy for Windows 2008 R2.

I have received a lot of requests to make a new set of GPOs for Citrix XenApp 6.0 and Remote Desktop Services running on Windows Server 2008 R2, as a follow up to the very popular Citrix XenApp and Terminal Server Tuning Tips Group Policy v1.0

There is a lot of tuning in this GPO, I will update it when new tunings are found and post updates to the download section of Ervik.as.

I've made the GPO in admx format (not backup sets!!!), so that it can work 100% with Windows Server 2008 R2 and the Group Policy Manager. It also integrates perfectly with AppSense and RES, so if you use these User Environment Tools, you can simply import the ADMX file and deploy. Also since the admx file format is in XML it's also quicker to load than regular adm files.

How to install:
Download -> Ervik.as - Citrix XenApp 6 and RDS Tuning Policy.zip , from the link on this page. (This GPO is in admx file format!)
Extract the zip file down to the c:\windows\PolicyDefinitions - catalog

UPHClean is natively embedded into Windows Server 2008 (User Profile Service), so that is why you won't find it available for download anywhere.

Also, another Best Practice, is that I recommend that you Disable Data Execution Prevention on Windows Server 2008 R2.

Here is how you can do that:

Warning! you have to use the following command line to disable it

  • bcdedit.exe /set {current} nx AlwaysOff

 

XenApp and Terminal Server GPO Download

If you can't see the Download Image above click here to DOWNLOAD

If you got any good XenApp 6 or Remote Desktop Services/Terminal Server tuning tips that you want to include in the GPO, please post them in the comments field below, thanks!

]]>
aj@ervik.as (Alexander Ervik Johnsen) The GiDWiM Guide Fri, 27 Aug 2010 12:16:10 +0000
A quick ABC guide for Virtualization http://www.ervik.as/index.php/thegidwimguide-mainmenu/2945-a-quick-abc-guide-for-virtualization http://www.ervik.as/index.php/thegidwimguide-mainmenu/2945-a-quick-abc-guide-for-virtualization Virtualization is hotter than ever, and we also can virtualize our laptops and workstations.
Although according to Gartner research indicates that at the end of 2009, only 18% of enterprise data center workloads that could be virtualized had been virtualized. Gartner predicts that this number is expected to grow to more than 50% by the close of 2012. Meaning that 18% of all servers worldwide are now virtualized, we still have a long way to go. So there for you may have some questions about virtualization, what it is, what it does, what to choose and such… This quick introduction ABC guide on Virtualization should help you get some of these questions answered. It’s not a definitive guide on the virtualization field, but more like a get to know virtualization guide from Ervik.as. As you may now Ervik.as is one of the biggest resources online for Virtualization news and support,so therefor Stian Hill and I(Alexander Ervik Johnsen) decided to put down some facts and some introduction material to virtualization. Enjoy!

The term "virtualization" was coined in the 1960s, to refer to a virtual machine (sometimes called pseudo machine), a term which itself dates from the experimental IBM M44/44X system. The creation and management of virtual machines has been called platform virtualization, or server virtualization, more recently.

Platform virtualization is performed on a given hardware platform by host software (a control program), which creates a simulated computer environment, a virtual machine, for its guest software. The guest software is not limited to user applications; many hosts allow the execution of complete operating systems. The guest software executes as if it were running directly on the physical hardware, with several notable caveats. Access to physical system resources (such as the network access, display, keyboard, and disk storage) is generally managed at a more restrictive level than the host processor and system-memory. Guests are often restricted from accessing specific peripheral devices, or may be limited to a subset of the device's native capabilities, depending on the hardware access policy implemented by the virtualization host.

Virtualization refers to technologies designed to provide a layer of abstraction between computer hardware systems and the software running on them. By providing a logical view of computing resources, rather than a physical view, virtualization solutions make it possible to do a couple of very useful things: They can allow you, essentially, to trick your operating systems into thinking that a group of servers is a single pool of computing resources. And they can allow you to run multiple operating systems simultaneously on a single machine.

In the 1990s, virtualization was used primarily to re-create end-user environments on a single piece of mainframe hardware. If you were an IT administrator and you wanted to roll out new software, but you wanted see how it would work on a Windows NT or a Linux machine, you used virtualization technologies to create the various user environments.

But with the advent of the x86 architecture and inexpensive PCs, virtualization faded and seemed to be little more than a fad of the mainframe era. It's fair to credit the recent rebirth of virtualization on x86 to the founders of the current market leader, VMware. VMware developed the first hypervisor for the x86 architecture in the 1990s, planting the seeds for the current virtualization boom.

Why should you care about virtualization?

The industry buzz around virtualization is just short of deafening. This need-have-it capability has fast become going-to-get-it technology, as new vendors enter the market, and enterprise software providers weave it into the latest versions of their product lines. The reason: Virtualization continues to demonstrate additional tangible benefits the more it's used, broadening its value to the enterprise at each step.

Server consolidation is definitely the sweet spot in this market. Virtualization has become the cornerstone of every enterprise's favorite money-saving initiative. Industry analysts report that between 60 percent and 80 percent of IT departments are pursuing server consolidation projects. It's easy to see why: By reducing the numbers and types of servers that support their business applications, companies are looking at significant cost savings.

Less power consumption, both from the servers themselves and the facilities' cooling systems, and fuller use of existing, underutilized computing resources translate into a longer life for the data center and a fatter bottom line. And a smaller server footprint is simpler to manage.

However, industry watchers report that most companies begin their exploration of virtualization through application testing and development. Virtualization has quickly evolved from a neat trick for running extra operating systems into a mainstream tool for software developers. Rarely are applications created today for a single operating system; virtualization allows developers working on a single workstation to write code that runs in many different environments, and perhaps more importantly, to test that code. This is a noncritical environment, generally speaking, and so it's an ideal place to kick the tires.

Once application development is happy, and the server farm is turned into a seamless pool of computing resources, storage and network consolidation start to move up the to-do list. Other virtualization-enabled features and capabilities worth considering: high availability, disaster recovery and workload balancing.

What are the different types of virtualization?

There are 5 basic categories of virtualization:

  • Application virtualization is an umbrella term that describes software technologies that improve portability, manageability and compatibility of applications by encapsulating them from the underlying operating system on which they are executed
  • Storage virtualization melds physical storage from multiple network storage devices so that they appear to be a single storage device
  • Network virtualization combines computing resources in a network by splitting the available bandwidth into independent channels that can be assigned to a particular server or device in real-time
  • Server virtualization hides the physical nature of server resources, including the number and identity of individual servers, processors and operating systems, from the software running on them.
  • Desktop virtualization also sometimes called client virtualization , as a concept, separates a personal computer desktop environment from a physical machine using a client–server model of computing.

 

What is a hypervisor?
In today’s term, a hypervisor, also called virtual machine monitor (VMM), allows multiple operating systems to run concurrently on a host computer— a feature called hardware virtualization. The hypervisor presents the guest operating systems with a virtual platform and monitors the execution of the guest operating systems. In that way, multiple operating systems, including multiple instances of the same operating system, can share hardware resources. These concepts have become an important part of the technique known as virtualization. The hypervisor is also the most basic form of a virtualization component. It's the software that seperates the operating system and applications from their physical resources. The hypervisor has its own kernel and it's installed directly on the hardware, or "bare metal" which is a frequently used term within Virtualization. The hypervisor is inserted between the hardware and the OS, and interacts fully with the HW of the target that it has been installed on.

Which types of Hypervisors is there?
There are two types of hypervisor’s, these 2 are somewhat alike but here is the difference:

  • Type 1 (or native, bare metal) hypervisors run directly on the host's hardware to control the hardware and to monitor guest operating systems. A guest operating system thus runs on another level above the hypervisor.
    This model represents the classic implementation of virtual machine architectures.
  • Type 2 (or hosted) hypervisors run within a conventional operating system environment. With the hypervisor layer as a distinct second software level, guest operating systems run at the third level above the hardware.

Note: Microsoft Hyper-V (released in June 2008) exemplifies a type 1 product that is often mistaken for a type 2. Both the free stand-alone version and the version that is part of the commercial Windows Server 2008 product use a virtualized Windows Server 2008 parent partition to manage the Type 1 Hyper-V hypervisor. In both cases the Hyper-V hypervisor loads prior to the management operating system, and any virtual environments created run directly on the hypervisor, not via the management operating system.

What is a virtual machine?
A virtual machine was originally defined by Popek and Goldberg as "an efficient, isolated duplicate of a real machine". Current use includes virtual machines which have no direct correspondence to any real hardware.

Virtual machines are separated into two major categories, based on their use and degree of correspondence to any real machine. A system virtual machine provides a complete system platform which supports the execution of a complete operating system (OS). In contrast, a process virtual machine is designed to run a single program, which means that it supports a single process. An essential characteristic of a virtual machine is that the software running inside is limited to the resources and abstractions provided by the virtual machine—it cannot break out of its virtual world.


A virtual machine (VM) is a self-contained operating environment—software that works with, but is independent of, a host operating system. Virtualization technologies are sometimes called dynamic virtual machine software.


What is paravirtualization?

Paravirtualization is a type of virtualization technique that presents a software interface to virtual machines that is similar but not identical to that of the underlying hardware. The entire OS runs on top of the hypervisor and communicates with it directly, typically resulting in better performance. The kernels of both the OS and the hypervisor must be modified, however, to accommodate this close interaction.

The intent of the modified interface is to reduce the portion of the guest's execution time spent performing operations which are substantially more difficult to run in a virtual environment compared to a non-virtualized environment. The paravirtualization provides specially defined 'hooks' to allow the guest(s) and host to request and acknowledge these tasks, which would otherwise be executed in the virtual domain (where execution performance is worse.) Hence, a successful paravirtualized platform may allow the virtual machine monitor (VMM) to be simpler (by relocating execution of critical tasks from the virtual domain to the host domain), and/or reduce the overall performance degradation of machine-execution inside the virtual-guest.

Paravirtualization requires the guest operating system to be explicitly ported for the para-API -- a conventional O/S distribution which is not paravirtualization-aware cannot be run on top of a paravirtualized VMM. However, even in cases where the operating system cannot be modified, components may be available which confer many of the significant performance advantages of paravirtualization; for example, the XenWindowsGplPv project provides a kit of paravirtualization-aware device drivers, licensed under GPL, that are intended to be installed into a Microsoft Windows virtual-guest running on the Xen hypervisor.

Paravirtualization relies on a virtualized subset of the x86 architecture. Intel and AMD have developed chipsets that are designed to allow simpler virtualization code, and the potential for better performance of fully virtualized environments.

What is “bare metal” hypervisor?

VMware states that the ESX product runs on "bare metal". In contrast to other VMware products, it does not run atop a third-party operating system, but instead includes its own kernel. Up through the current ESX version 4.1, a Linux kernel is started first, and is used to load a variety of specialized virtualization components, including VMware's 'vmkernel' component. This previously-booted Linux kernel then becomes the first running virtual machine and is called the service console. Thus, at normal run-time, the vmkernel is running on the bare computer and the Linux-based service console runs as the first virtual machine. The vmkernel itself, which VMware says is a microkernel, has three interfaces to the outside world: hardware,guest systems and service console (Console OS)

On the other hand you now also with the introduction of Citrix XenClient have a “bare metal” hypervisor that runs on desktop PC Hardware. XenClient is a bare metal hypervisor intended for use on a client computing device, that is desktop PC hardware, rather than server hardware. XenClient is being created by Citrix in partnership with hardware vendors such as HP. With XenClient users can run their company desktop alongside their own Windows or Linux OS on a single desktop or laptop PC.

What is Xen?
The Xen Project has developed and continues to evolve a free, open-source hypervisor for x86. Available since 2003 under the GNU General Public License, Xen runs on a host operating system, and so is considered paravirtualization technology.

It allows several guest operating systems to execute on the same computer hardware concurrently. The University of Cambridge Computer Laboratory developed the first versions of Xen. As of 2010[update] the Xen community develops and maintains Xen as free software.

Xen systems have a structure with the Xen hypervisor as the lowest and most privileged layer. Above this layer come one or more guest operating systems, which the hypervisor schedules across the physical CPUs. The first guest operating system, called in Xen terminology "domain 0" (dom0), boots automatically when the hypervisor boots and receives special management privileges and direct access to all physical hardware by default. The system administrator can log into dom0 in order to manage any further guest operating systems, called "domain U" (domU) in Xen terminology.

The project originated as a research project at the University of Cambridge led by Ian Pratt, who later left the school to found XenSource, the first company to implement a commercial version of the Xen hypervisor. A number of large enterprise companies now support Xen, including Microsoft, Novell and IBM. XenSource (not surprisingly) and SAP-based startup Virtual Iron offer Xen-based virtualization solutions.

What is application virtualization?

Application virtualization is an umbrella term that describes software technologies that improve portability, manageability and compatibility of applications by encapsulating them from the underlying operating system on which they are executed. A fully virtualized application is not installed in the traditional sense, although it is still executed as if it is. The application is fooled at runtime into believing that it is directly interfacing with the original operating system and all the resources managed by it, when in reality it is not. In this context, the term "virtualization" refers to the artifact being encapsulated (application), which is quite different to its meaning in hardware virtualization, where it refers to the artifact being abstracted (physical hardware).

Virtualization in the application layer isolates software programs from the hardware and the OS, essentially encapsulating them as independent, moveable objects that can be relocated without disturbing other systems. Application virtualization technologies minimize app-related alterations to the OS, and mitigate compatibility challenges with other programs.

Full application virtualization requires a virtualization layer. Application virtualization layers replace part of the runtime environment normally provided by the operating system. The layer intercepts all file and Registry operations of virtualized applications and transparently redirects them to a virtualized location, often a single file. The application never knows that it's accessing a virtual resource instead of a physical one. Since the application is now working with one file instead of many files and registry entries spread throughout the system, it becomes easy to run the application on a different computer and previously incompatible applications can be run side-by-side. Examples of this technology for the Windows platform are Ceedo, InstallFree, Citrix XenApp, Novell ZENworks Application Virtualization, Endeavors Technologies Application Jukebox, Microsoft Application Virtualization, Software Virtualization Solution, and VMware ThinApp.

Also, somewhat included into Application Virtualization, is application Streaming, a teqnic that virtualizes and streams the application to an end user, without messing up the users operating system.

What is a virtual appliance?
A virtual appliance (VA) is not, as its name suggests, a piece of hardware. It is, rather, a prebuilt, preconfigured application bundled with an operating system inside a virtual machine. The VA is a software distribution vehicle, touted by VMware and others, as a better way of installing and configuring software. The VA targets the virtualization layer, so it needs a destination with a hypervisor. VMware and others are offering the VA as a better way to package software demonstrations, proof-of-concept projects and evaluations.

Citrix on their hand has started to offer a broad range of their own products as a VPX, their Virtual Appliance term. Citrix as of 11.08.2010 offers Citrix Access Gateway VPX, NetScaler VPX, Branch Repeater VPX, Merchandising Server, Citrix Licensing Server and XenDesktop Syncronizer(currently in Tech Preview for synchronization with the XenClient).

What is Desktop Virtualization?

The model stores the resulting "virtualized" desktop on a remote central server, instead of on the local storage of a remote client; thus, when users work from their remote desktop client, all of the programs, applications, processes, and data used are kept and run centrally. This scenario allows users to access their desktops on any capable device, such as a traditional personal computer, notebook computer, smartphone, or thin client. Virtual desktop infrastructure, sometimes referred to as virtual desktop interface(VDI) is the server computing model enabling desktop virtualization, encompassing the hardware and software systems required to support the virtualized environment.

Desktop virtualization involves encapsulating and delivering either access to an entire information system environment or the environment itself to a remote client device. The client device may use an entirely different hardware architecture than that used by the projected desktop environment, and may also be based upon an entirely different operating system.

The desktop virtualization model allows the use of virtual machines to let multiple network subscribers maintain individualized desktops on a single, centrally located computer or server. The central machine may operate at a residence, business, or data center. Users may be geographically scattered, but all may be connected to the central machine by a local area network, a wide area network, or the public Internet.

The main competing vendors in the Desktop Virtualization space at the moment is Citrix and VMware. But, there is also smaller vendors on the horizon and they have products that can compete in some sense.

Here is a list of current Virtual Desktop Vendors:

Got something to add? Please post in the Comment field below!

]]>
aj@ervik.as (Alexander Ervik Johnsen) The GiDWiM Guide Wed, 11 Aug 2010 09:58:53 +0000
Understanding Performance Counters data while troubleshooting Performance issues http://www.ervik.as/index.php/thegidwimguide-mainmenu/2287-understanding-performance-counters-data-while-troubleshooting-performance-issues http://www.ervik.as/index.php/thegidwimguide-mainmenu/2287-understanding-performance-counters-data-while-troubleshooting-performance-issues I've been troubleshooting all day, and to get a better overview of the things to look for in a Terminal Services or Citrix XenApp environment I rambled down some key elements on how to troubleshoot overall Database system performance issue, analyzing performance counters is the best way to start. By collecting performance counters during busy period for few days consistently and analyzing those data would give a better idea about overall system problems regarding Memory, CPU, and/or Disk I/O. Please note, for troubleshooting a particular SQL problem such as a stored procedure or a piece of T-SQL, it is better to look at the query execution plan and SQL Trace data and identify the need of redesigning a query or table indexes. Some key performance counters to use while assessing a performance issues on SQL Server.

Memory:

Memory and Disk I/O complements each other. Memory issues on the system could affect disk I/O and vice versa. It is very critical to carefully observe the trend of performance counters data over a long period of time to identify the real problem.

· Memory\Available Mbytes

Threshold: A consistent value of less than 20 to 25 percent of installed RAM is an indication of insufficient memory.

Significance: This indicates the amount of physical memory available to processes running on the computer. Note that this counter displays the last observed value only. It is not an average.

· Memory\Page Reads/sec

Threshold: Sustained values of more than five indicate a large number of page faults for read requests.

Significance: This counter indicates that the working set of your process is too large for the physical memory and that it is paging to disk. It shows the number of read operations, without regard to the number of pages retrieved in each operation. Higher values indicate a memory bottleneck.

If a low rate of page-read operations coincides with high values for Physical Disk\% Disk Time and Physical Disk\Avg. Disk Queue Length, there could be a disk bottleneck. If an increase in queue length is not accompanied by a decrease in the pages-read rate, a memory shortage exists.

· Memory\Page Input/Sec:

Threshold: The value should not exceed 15. Higher the value poor the performance.

Significance: Pages Input/sec is the rate at which pages are read from disk to resolve hard page faults. Hard page faults occur when a process refers to a page in virtual memory that is not in its working set or elsewhere in physical memory, and must be retrieved from disk.

· Memory\Pages/sec

Threshold: Sustained values higher than five indicate a bottleneck.

Significance: This counter indicates the rate at which pages are read from or written to disk to resolve hard page faults. To determine the impact of excessive paging on disk activity, multiply the values of the Physical Disk\ Avg. Disk sec/Transfer and Memory\ Pages/sec counters. If the product of these counters exceeds 0.1, paging is taking more than 10 percent of disk access time, which indicates that you need more RAM. If this occurs over a long period, you probably need more memory.

A high value of Pages/sec indicates that your application does not have sufficient memory. The average of Pages Input/sec divided by average of Page Reads/sec gives the number of pages per disk read. This value should not generally exceed five pages per second. A value greater than five pages per second indicates that the system is spending too much time paging and requires more memory (assuming that the application has been optimized).

Processor

To measure processor utilization and context switching, you can use the following counters:

· Processor\% Processor Time

Threshold: The general figure for the threshold limit for processors is 65 percent.

Significance: This counter is the primary indicator of processor activity. High values many not necessarily be bad. However, if the other processor-related counters are increasing linearly such as % Privileged Time or Processor Queue Length, high CPU utilization may be worth investigating.

· Processor\% Privileged Time

Threshold: A figure that is consistently over 75 percent indicates a bottleneck.

Significance: This counter indicates the percentage of time a thread runs in privileged mode. When your application calls operating system functions (for example to perform file or network I/O or to allocate memory), these operating system functions are executed in privileged mode.

· System\Context Switches/sec

Threshold: As a general rule, context switching rates of less than 5,000 per second per processor are not worth worrying about. If context switching rates exceed 15,000 per second per processor, then there is a constraint.

Significance: Context switching happens when a higher priority thread preempts a lower priority thread that is currently running or when a high priority thread blocks. High levels of context switching can occur when many threads share the same priority level. This often indicates that there are too many threads competing for the processors on the system. If you do not see much processor utilization and you see very low levels of context switching, it could indicate that threads are blocked.

Disk I/O

To measure disk I/O activity, you can use the following counters:

· PhysicalDisk\Avg. Disk Queue Length

Threshold: Should not be higher than the number of spindles plus two.

Significance: This counter indicates the average number of both read and writes requests that were queued for the selected disk during the sample interval.

· PhysicalDisk\Avg. Disk Read Queue Length

Threshold: Should be less than two.

Significance: This counter indicates the average number of read requests that were queued for the selected disk during the sample interval.

· PhysicalDisk\Avg. Disk Write Queue Length

Threshold: Should be less than two.

Significance: This counter indicates the average number of write requests that were queued for the selected disk during the sample interval.

· PhysicalDisk\Avg. Disk sec/Read

Threshold: No specific value.

Less than 10 ms – very good

Between 10-20 ms – okay

Between 20-50 ms – slow, needs attention

Greater than 50 ms – Serious I/O bottleneck

Significance: This counter indicates the average time, in seconds, of a read of data from the disk.

· PhysicalDisk\Avg. Disk sec/Transfer

Threshold: Should not be more than 18 milliseconds.

Significance: This counter indicates the time, in seconds, of the average disk transfer. This may indicate a large amount of disk fragmentation, slow disks, or disk failures. Multiply the values of the Physical Disk\Avg. Disk sec/Transfer and Memory\Pages/sec counters. If the product of these counters exceeds 0.1, paging is taking more than 10 percent of disk access time, so you need more RAM.

· PhysicalDisk\Disk Writes/sec

Threshold: Depends on manufacturer's specification.

Significance: This counter indicates the rate of write operations on the disk.

· Physical Disk: %Disk Time

Threshold: Greater than 50 percent, it represents an I/O bottleneck

Significance: Represents the percentage of elapsed time that the selected disk drive was busy servicing read or write requests.

· Physical Disk\Avg. Disk Reads/Sec and Physical Disk\Avg. Disk Writes/Sec

Threshold: It should be less than 85% of the disk capacity

Significance: It represents the rate of read operations on the disk.

When using above counters, you may need to adjust the values for RAID configurations using the following formulas.

Raid 0 -- I/Os per disk = (reads + writes) / number of disks

Raid 1 -- I/Os per disk = [reads + (2 * writes)] / 2

Raid 5 -- I/Os per disk = [reads + (4 * writes)] / number of disks

Raid 10 -- I/Os per disk = [reads + (2 * writes)] / number of disks

For example, you have a RAID-1 system with two physical disks with the following values of the counters.

Disk Reads/sec            80

Disk Writes/sec           70

Avg. Disk Queue Length    5

In that case, you are encountering (80 + (2 * 70))/2 = 110 I/Os per disk and your disk queue length = 5/2 = 2.5 which indicates a border line I/O bottleneck.

Disk I/O issues can be minimized by having larger and sequential I/O activities. To achieve than you should consider partitioning. Partitioning can be done in many ways – Database partitioning, Tempdb partitioning, Table partitioning, index partitioning. At a minimum, it is highly recommended to partition your database in such a way that clustered index, non-clustered index, and transaction logs are each on a separate physical drive and spread across multiple logical filegroups/files within that drive.

]]>
aj@ervik.as (Alexander Ervik Johnsen) The GiDWiM Guide Fri, 18 Sep 2009 14:03:21 +0000
Old Citrix ICA Clients available for download http://www.ervik.as/index.php/thegidwimguide-mainmenu/2168-old-citrix-ica-clients-available-for-download http://www.ervik.as/index.php/thegidwimguide-mainmenu/2168-old-citrix-ica-clients-available-for-download Many customers ask me for older versions of the Citrix ICA client for various reasons, and Citrix removes the older ones from their website. It's understandable to some extent, becuase of support and so on...
I wanted to bring an extra service to our customers and also to everybody that reads www.ervik.as( btw thanks you are great!), and now I have gathered the most common asked for Citrix ICA Clients.

Check out the download section for more information

]]>
administrator@ervik.as (Administrator) The GiDWiM Guide Fri, 28 Aug 2009 18:31:40 +0000
Citrix XenApp and Citrix EdgeSight Anti Virus Recommendations http://www.ervik.as/index.php/thegidwimguide-mainmenu/2151-citrix-xenapp-and-citrix-edgesight-anti-virus-recommendations http://www.ervik.as/index.php/thegidwimguide-mainmenu/2151-citrix-xenapp-and-citrix-edgesight-anti-virus-recommendations The following are some guidence to help ease the negative effect that standard Anti-virus settings can cause on Citrix XenApp servers.
We all know that XenApp or for that matter simple Terminal Servers are not used as we do with workstations or desktop, so there is quite a few things to keep in mind.
The scan and realtime engines tend to have a bit of aggressiveness when it comes to performance and theirfore needs to be adjusted for the Antivirus Software or performance will be affected.

Citrix XenApp settings

  • Change what gets scanned to scan inbound only. Typical settings are to scan on write, read access, etc.
  • Scan local drives only
  • Exclude the pagefile from being scanned.
  • Exclude .dat and .tmp files.
  • Exclude C:\Documents and Settings\*.*
  • Disable the heuristics mode of scanning, this setting can be very intensive on the system
  • For Printing performance issues: Exclude the Spool folder, C:\WINDOWS\system32\spool to improve print performance
  • Exclude the C:\Program Files\Citrix folder and all subfolders
  • Exclude smss.exe, winlogon.exe, userinit.exe, csrss.exe and wfshell.exe
  • For Symantec only: Disable "Tamper Protection".
  • Scan on write events only
  • Exclude the \Program Files\Citrix folder from being scanned (the heavily accessed local host cache and Resource Manager/EdgeSight Basic local database are contained inside this folder)
  • If ICA pass-through connections are used, exclude the user‘s XenApp Plugin bitmap cache and the XenApp Plugin folders
  • WARNING! Using Registry Editor incorrectly can cause serious problems that may require you to reinstall your operating system. Citrix cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk. If users are connecting to a published desktop, Citrix recommends removing the antivirus-related calls from the HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\Current Version\Run registry key to improve performance

EdgeSight settings

You must NOT be running McAfee 8.0 with patch 10. If so, you MUST install patch 11 or later before installing the EdgeSight Agent.
Some paths are given in case they were not already excluded (from above)

Server

Folders

  • C:\Program Files\Common Files\Citrix\System Monitoring\Server\RSSH
  • C:\Program Files\Citrix\System Monitoring\Server\EdgeSight 4.0\scripts\rssh
  • C:\Program Files\Citrix\System Monitoring\Server\EdgeSight 4.0\Pages
  • C:\Program Files\Microsoft SQL Server\MSSQL\Reporting Services
  • C:\Program Files\Microsoft SQL Server\MSSQL\Data

Agent

Exclude the following from being scanned:

Folders

  • C:\Documents and Settings\All Users\Application Data\Citrix\System Monitoring\Data

Files

  • C:\Program Files\Citrix\System Monitoring\Agent\Core\rscorsvc.exe
  • C:\Program Files\Citrix\System Monitoring\Agent\Core\Firebird\bin\fbserver.exe

Be sure to always check with your antivirus vendor, if they have any recommedations on how to setup the antivirus for a multiuser environment.

If you have any other recomendations that you would like to contribute with to this article then please post a Comment!

]]>
aj@ervik.as (Alexander Ervik Johnsen) The GiDWiM Guide Wed, 26 Aug 2009 11:28:42 +0000
Software Incompatible with Citrix Application Streaming http://www.ervik.as/index.php/thegidwimguide-mainmenu/2150-software-incompatible-with-citrix-application-streaming http://www.ervik.as/index.php/thegidwimguide-mainmenu/2150-software-incompatible-with-citrix-application-streaming Here is a list of some finding that both I and I also saw that Citrix had found, I will update it as soon as I discover anything new.

The following may not be profiled for use with the application streaming functionality.

Adobe Acrobat 9.0
Citrix Conferencing Manager
Citrix EdgeSight Agent
Citrix ICA Client/XenApp Plug-in
Citrix Offline App Plug-in
Citrix Password Manager Agent
Citrix Streaming Profiler
Intuit Quickbooks Enterprise 2005
Microsoft .NET Platform
Microsoft SQL Server
Visma Global
Visma Business
Borlean BDE

If you want to add some Applications to this list, please use the comment field.

]]>
aj@ervik.as (Alexander Ervik Johnsen) The GiDWiM Guide Wed, 26 Aug 2009 11:09:28 +0000
How to Automatically Generate a Process Dump when a Specific Event is Recorded in the Windows Event Log http://www.ervik.as/index.php/thegidwimguide-mainmenu/2149-how-to-automatically-generate-a-process-dump-when-a-specific-event-is-recorded-in-the-windows-event-log http://www.ervik.as/index.php/thegidwimguide-mainmenu/2149-how-to-automatically-generate-a-process-dump-when-a-specific-event-is-recorded-in-the-windows-event-log This article describes how to automatically generate a process dump when a specific event is recorded in the Windows Event Log.

In some situations, when troubleshooting process crashing or hanging, having the possibility to automate as much as possible the dump generation is required.

Sometimes, setting up a default debugger in Windows (see CTX105888 - How to Set the NT Symbolic Debugger as a Default Windows Postmortem Debugger) is not enough to gather the required process dump(s).

Procedure

If the process crash or hang has been narrowed down to occur when some events are being logged in the Windows Event Log, it is possible, using VBScript, to fully automate the task of dump generation.

The VBS script provided below was used to capture a dump of the Citrix Print Service when an event entered in the System Event log, with a specific eventID and description.

Note: In the code below, make sure you replace the text in bold and italic with the information specific to your environment and issue being investigated.

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate, (Security)}!\\" & _
strComputer & "\root\cimv2")

Set colMonitoredEvents = objWMIService.ExecNotificationQuery _
("Select * from __instancecreationevent where TargetInstance ISA " _
& "'Win32_NTLogEvent' and TargetInstance.EventCode = 'Enter your eventID number here, leaving the quotes'")

intContinue = 0
Do Until intContinue > 0
Set objLatestEvent = colMonitoredEvents.NextEvent
strDisplayMessage = objLatestEvent.TargetInstance.Message

If Instr(1, strDisplayMessage, "Enter the decription of the event leaving the quotes", 1) > 0 Then

strComputer = "."
arrTargetProcs = Array("Process.exe to dump")

Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate, (Security)}!\\" & _
strComputer & "\root\cimv2")
Set colProcesses = objWMIService.ExecQuery("SELECT * FROM Win32_Process")

' Checking for target processes ...

For Each objProcess in colProcesses
For Each strTargetProc In arrTargetProcs
If LCase(objProcess.Name) = LCase(strTargetProc) Then
Set WshShell = wscript.createobject("wscript.shell")
WshShell.Exec("C:\Tools\userdump.exe ProcessName.exe DumpName.dmp")
'wait some time and kill CpSvc

WScript.Sleep 10000
WshShell.Exec("taskkill /im CpSvc.exe /f")
End If
Next
Next

' Restart the CpSvc service after 10 sec.

Dim WshShell
WScript.Sleep 10000
Set WshShell = wscript.createobject("wscript.shell")
WshShell.Exec("Net Start CpSvc")

End If
Loop

]]>
aj@ervik.as (Alexander Ervik Johnsen) The GiDWiM Guide Wed, 26 Aug 2009 11:04:15 +0000
Guide to Streaming Microsoft Office 2007 with Citrix XenApp 5.0 http://www.ervik.as/index.php/thegidwimguide-mainmenu/2143-guide-to-stream-microsoft-office-2007-with-citrix-xenapp-50 http://www.ervik.as/index.php/thegidwimguide-mainmenu/2143-guide-to-stream-microsoft-office-2007-with-citrix-xenapp-50 I thought I would go through the processes required to profile and stream Office 2007 to a desktop. Citrix Presentation Server 4.5 Enterprise and Platinum introduced the ability
to package and stream applications to the server or client desktop. In theory this was a good direction for Citrix. However, in reality the first attempt was a little rough. It worked ok,
but needed some fixing. With Citrix XenApp 5.0 the streaming profiler and client have been updated and it looks like some of the general bugs and issues customers have had with the
technology have been fixed.

Also worth a note is that XenDesktop is a virtual desktop infrastructure product from Citrix that includes XenServer for desktops and XenApp for streamed applications.
I have been using and testing streamed application in Citrix for a couple of years now and for the most part liked the technology.
I will now run through the steps required to profile and stream applications in Citrix.

To profile applications all you need is a virtual server with a clean guest machine that matches the type of device you want to stream to.
For instance, if you want to stream to a xp workstation you will need a virtual xp workstation that matches as close as possible.

Some applications can not be profiled. Like similar products you cannot stream applications that need to install kernel mode or device drivers.
I have read that you can profile an application and then install the service on the client machine, but I would do a lot of testing before doing this in a production environment.

Install XenApp streaming profiler.

  • Install the XenApp streaming profiler 1.3 or latest release avalible for download from mycitrix.com. You can find this on the components disk of XenApp 5.
    You can usually download a trial copy of XenApp from Citrix
  • You will also neet to install Dot Net Framework 2
  • Copy any software you will want to work with frequently to a folder on the virtual machine
  • If you are using a virtual machine to do the profiling on take a snapshot now

I won’t go through every aspect of the Office 2007 preparation. Citrix has produced a very good guide for streaming Office 2007. See this document for how to rollup updates in Office 2007.

 

Preparing the Profiling Computer

1. On a clean computer as close to your client computer environment as possible, install the latest version of the Streaming Profiler. Restart when prompted.

2. Open the Office Customization Tool (setup.exe /admin) to create a custom Office 2007 .MSP file that could answer all of the questions asked during the installation. Place the .MSP file in the Updates subfolder in the Office2007 installation folder. This allows an administrator to perform a silent install.

From the Setup menu:

a. On the Install location and organization name page, enter your installation location and organization or company name.

b. On the Licensing and user interface page, enter your 25-character volume license key and select the I accept the terms in the License Agreement check box.
For Display level, select Basic, and select the Suppress modal check box, as shown in the following screen shot:

c. On the Modify Setup properties page, make sure that the value for HIDEUPDATEUI is set to True and the value for WTSDISABLED is set to MsInfoFiles, PPTCastCoreFiles, as shown in the following screen shot:

From the Additional Content menu:

Caution! This procedure requires you to edit the registry. Using Registry Editor incorrectly can cause serious problems that may require you to reinstall your operating system.
Citrix cannot guarantee that problems resulting from the incorrect use of Registry Editor can be solved. Use Registry Editor at your own risk. Be sure to back up the registry before you edit it.

On the Add Registry entries page, add the following registry entries:

Root: HKEY_CURRENT_USER
Data type
: REG_DWORD
Key
: Software\Microsoft\Office\12.0\Common\General
Value name
: ShownOptIn
Value data
: 00000001

Root: HKEY_CURRENT_USER
Data type
: REG_SZ
Key
: Software\Microsoft\Office\12.0\Common\General
Value name
: PONT_STRING
Value data
: 60

Root: HKEY_LOCAL_MACHING
Data type
: REG_DWORD
Key
: Software\Microsoft\Windows\windows Search\Preference
Value name
: PreventIndexingOutlook
Value data
: 00000001

From the Outlook menu:

a. On the Outlook profile page, select the New Profile radio button, and enter the Profile name: StreamedOutlook.

b. On the Specify Exchange Server page, select the Configure an Exchange Server connection option button and enter your User Name and the FQDN of your Exchange Server.

3. Continue using the Office Customization Tool (setup.exe /admin) to create a custom Project 2007 .MSP file that could answer all of the questions asked during the installation.
Place the .MSP file in the Updates subfolder in the Office2007 installation folder. This allows an administrator to perform a silent install.

From the Setup menu:

a. On the Install location and organization name page, change the Default installation path to [ProgramFilesFolder]\Project2007, as shown in the following screen shot.
This change is required if the application uses the inter-isolation communication (IIC) feature to communicate with Office.

b. On the Licensing and user interface page, enter your 25-character volume license key and select the I accept the terms in the License Agreement check box.
For Display level, select Basic, and select the Suppress modal check box.

4. Continue using the Office Customization Tool (setup.exe /admin) to create a custom Visio 2007 .MSP file that could answer all of the questions asked during the installation.
Place the .MSP file in the Updates subfolder in the Office2007 installation folder. This allows an administrator to perform a silent install.

From the Setup menu:

a. On the Install location and organization name page, change the Default installation path to [ProgramFilesFolder]\Visio2007, as shown in the following screen shot.
This change is required if the application uses the inter-isolation communication (IIC) feature to communicate with Office.

b. On the Licensing and user interface page, enter your 25-character volume license key and select the I accept the terms in the License Agreement check box.
For Display level, select Basic, and select the Suppress modal check box.

5. Copy any necessary Microsoft hotfixes into the Updates subfolder in the Office2007 installation folder.

Tip: Use the #_ as a prefix to force a specific order that these hotfixes are installed. Citrix recommends that you use the 1_ prefix for any .MSP files
created using the Office Customization Tool. If Office Communicator is also included in this profile, extract KB936864 into this Updates folder and
give the files the 2_ prefix, as shown in the following example:

6. Create a script file with the following installations and settings:

    • Install Software Update for Web Folders (KB907306)

    • Install Office 2003 Web Components SP1 for the 2007 Microsoft Office System

    • Install SharePoint Services Client

    • Install SaveAs PDF and XPS

    • Install Office Communicator

    • Copy msvcr80.dll to c:\windows\system32

    Add the following registry settings
    :

    • [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\User Settings\ShownOptIn]
    "Count"=dword:00000001
    "Order"=dword:00000001

    • [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\User Settings\ShownOptIn\Create\Software\Microsoft\Office\12.0\Common\General]
    "ShownOptInFix"="Applied"

    • [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\User Settings\ShownOptIn\Create\Software\Microsoft\Office\12.0\Common\General]
    "ShownOptIn"=dword:00000001

    • [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
    "C:\\Program Files\\Microsoft Office\\Office12\\WINWORD.EXE"="WINXPSP2"
    "C:\\Program Files\\Microsoft Office\\Office12\\EXCEL.EXE"="WINXPSP2"
    "C:\\Program Files\\Microsoft Office\\Office12\\POWERPNT.EXE"="WINXPSP2"

    • [HKEY_LOCAL_MACHINE\Software\wow6432node\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
    "C:\\Program Files (x86)\\Microsoft Office\\Office12\\WINWORD.EXE"="WINXPSP2"
    "C:\\Program Files (x86)\\Microsoft Office\\Office12\\EXCEL.EXE"="WINXPSP2"
    "C:\\Program Files (x86)\\Microsoft Office\\Office12\\POWERPNT.EXE"="WINXPSP2"

    • [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\ZoneMap\Domains\citrite.net]
    "https"=dword:00000001
    "http"=dword:00000001
    *"=dword:00000001

    • [HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
    "C:\\Program Files\\Microsoft Office\\Office12\\WINWORD.EXE"="WINXPSP2"
    "C:\\Program Files\\Microsoft Office\\Office12\\EXCEL.EXE"="WINXPSP2"
    "C:\\Program Files\\Microsoft Office\\Office12\\POWERPNT.EXE"="WINXPSP2"

    • [HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
    "C:\\Program Files\\Microsoft Office\\Office12\\WINWORD.EXE"="WINXPSP2"
    "C:\\Program Files\\Microsoft Office\\Office12\\EXCEL.EXE"="WINXPSP2"
    "C:\\Program Files\\Microsoft Office\\Office12\\POWERPNT.EXE"="WINXPSP2"

    • [HKEY_LOCAL_MACHINE\Software\wow6432node\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers]
    "C:\\Program Files (x86)\\Microsoft Office\\Office12\\WINWORD.EXE"="WINXPSP2"
    "C:\\Program Files (x86)\\Microsoft Office\\Office12\\EXCEL.EXE"="WINXPSP2"
    "C:\\Program Files (x86)\\Microsoft Office\\Office12\\POWERPNT.EXE"="WINXPSP2"

Profile Office 2007

  • copy the Office 2007 source files to the profiling machine if you haven’t already
  • customize your Office installation using setup.exe /admin
  • download and extract any service packs and patches to the Updates subfolder of the Office 2007 installation. To make sure your customized msp is running first rename it to aaa_<name>.msp
  • open the Citrix XenApp streaming profiler
  • click New Profile
  • give it a meaningful name
  • Select which ever security model you want. I usually use relaxed for testing
  • Select your destination system types, languages and service pack levels. Use the lowest common denominator


  • Select Advanced Install
  • Run install program - browse to and select the setup.exe from the Office installation directory

  • Click launch Installer. The office installation will now run through as per your instructions in the MSP file
  • Click next and select perform additional installations
  • Select files and folders
  • Browse to c:\windows\system32 and copy control.exe to c:\windows\system32. This will allow you to use the Mail Profile control panel
  • At this point you can install more applications if you like or need to. Just remember the larger the profile the longer it will take to launch.
  • You can edit the registry as required to make any customizations needed.
  • Click Finish Installations once you’re done
  • If required you can run the applications and change any settings you like
  • Add a new application in the Select Applications screen. Browse and select control.exe. Set the run and working directories and enter MLCFG32.cpl in the command line parameter
  • Click through and finish the profile. The profile will now be built, the time it takes will depend on the size of the profile

  • Select the fileshare where you wish to save the profile. It needs to be a UNC path

Isolation rules

Streamed applications isolate the application data from the normal drive files and as a result if you try and save something from a profiled application to a system drive or the drive where the application is installed it will be saved within the application profile. You can get around this two ways.

The first way is to manually edit a file found within the streamed profile once it has been downloaded to the client machine. The file to modify is SandboxData.xml. This is the actual rule sets as they apply. This method is very manual and prone to causing you issues if done wrong.

The second and easiest method is to modify the isolation rules within the application profiler. If you right click on the profiled application you will see a number of options. The one we are concerned with is Rules.


The rule we want to modify is the Default file ignore-rule. We need to do this because the profiled application will essentially isolate all folders on the same drive the application was installed that are not specified to be ignored. What this means is that if you save a file from Outlook into a folder e.g. c:\myfiles it will appear normal. But if you browse the file system you will not be able to find it. This is because the file is actually located within the user part of the streamed application. I simply add environmental variables for additional drive letters e.g. %datadrive% to the rule as well as specific folders that reside on the system drive. Have a play and see the behaviour first hand.

Now the applicaton has been profiled and is ready to be published.

To publish streamed applications you will need a Citrix XenApp 5.0 server with the relevant licenses and a Program Neighbourhood Agent site configured on the web interface server. Part 2 of this article will step through the installation of the Web Interface server and publishing applications to clients.

Creating the Application Profile

Use the following steps to create a profile for Microsoft Office 2007.

1. On the profiling computer, start the Streaming Profiler.

2. Select New, name the profile Office 2007, and click Next to start the wizard.

3. If the Set User Profile Security screen appears, select Enhanced security and click Next.

4. If the Set up Inter-Isolation Communication screen appears, click Next.

5. On the Set Target operating System and Language screen, click Next.

6. On the Select Install Option screen, select Advanced Install and click Next.

7. Install Office 2007, Visio 2007, and Project 2007, using this procedure for each:

8. On the Select Install Method screen, select Run install program or command line script and then select Next.

9. Enter or browse to the location of the setup.exe file in the root of the Office installation folder and select Next.

    a. On the Run Installer screen, select Launch Installer.

b. Select the Office 2007 version to install. This should correspond to the version you used in the Office Customization Tool.

c. Once the installation is complete and you are on the Run Installer screen, select Next.

d. On the Select Next Step screen, select Perform additional installations and then select Next.

e. Repeat these steps for each Office application to be installed.

10. Add the Outlook Profile Editor files:

    a. On the Select Install Method screen, choose Select files and folders and select Next.

b. On the Select Files and Folders screen:

    • On the left side, navigate and highlight c:\windows\system32\control.exe.

    • On the right side, navigate to c:\windows\system32.

    • Click the arrow pointing from the left side to the right side. Select Next.

    c. On the Select Next Step screen, select Finish installations and select Next.

d. On the Run Application screen, select Next.

e. On the Select Applications screen, add the Outlook Profile Editor icon:

    • Select Add.

    • On the Add Application screen, enter the values (as shown in the following screen shot):

      Application name: Outlook Profile Editor
      Path: the path to the control.exe file
      Working directory: the path to the System 32 directory
      Command line parameters: MLCFG32.cpl

    • Click OK. On the Select Applications screen, select Next.

11. If the Sign Profile page appears and you do not sign profiles, select Do not sign profile and then select Next. If your organization requires profile signing, sign the profile with your signing key. More information is available in Knowledge Center article CTX110304 – Enhancing Security in Application Streaming for Desktops.

12. On the Build Profile screen, select Finish.

13. After the profile builds, click Save.

14. Enter or browse to the file server or Web server and select Save.

15. Once the save is complete, close the profiler.

 

More Profiling Guidelines

Use the following guidelines for creating profiles for Microsoft applications:

• User Access Control (UAC) should be disabled prior to profiling.

• Perform the following steps if you are using Skype and Outlook 2007:

1. Open Skype.

2. From the toolbar, choose View.

3. Clear the View Outlook Contacts check box.

• Follow the specific guidelines stated in this document so that Office Communicator can integrate with Outlook 2007 (the above steps take all of this into account by using the Updates folder):

1. Install Outlook 2007 and Office Communicator in the same profile

2. You must install KB936864 BEFORE Office 2007 Service Pack 1. The “2_” before the file name in the updates folder means that it loads first.

3. You must install Office Communicator AFTER Office 2007 Service Pack 1 (this is why there is no number before the file name in the Updates folder).

• If you are using Office Communicator, ensure that you can send an Instant Message to a user from within the profiler for each target before the target is saved. From within isolation, this requires that you do the following:

1. Open Office Communicator and log on.

2. Attempt to send an instant message to a contact. You should see a small warning icon on the Office Communicator icon.

3. If you do the above steps, delete the following registry values outside of isolation so that the profiler’s information is removed from Office Communicator. From:

[HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\AIE\GUID\REGISTRY\USER\CurrentUser\SOFTWARE\Microsoft\Shared\UcClient]
Delete "ServerSipUri"=""
Delete "ServerUsername"=""

• To remove the Recent Documents in Office, delete the following files and registry keys outside of isolation:

1. Run the following commands:

cd %appdata%\microsoft\office\recent
del *.url
del *.lnk

2. Delete these registry keys:

[HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\AIE\GUID\REGISTRY\USER\CurrentUser\SOFTWARE\Microsoft\Office\12.0\Excel\File MRU]

[HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\AIE\GUID\REGISTRY\USER\CurrentUser\SOFTWARE\Microsoft\Office\12.0\MS Project\Recent File List]

[HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\AIE\GUID\REGISTRY\USER\CurrentUser\SOFTWARE\Microsoft\Office\12.0\PowerPoint\File MRU]

[HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\AIE\GUID\REGISTRY\USER\CurrentUser\SOFTWARE\Microsoft\Office\12.0\Publisher\Recent File List]

[HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\AIE\GUID\REGISTRY\USER\CurrentUser\SOFTWARE\Microsoft\Office\12.0\Visio\Application]

• Do NOT launch Outlook at any time while profiling.

• Install Office 2007, Visio 2007, Project 2007, Office Communicator, and Service Pack 1 in the same profile whenever possible.

• After Office 2007 has been profiled, the below registry values should be deleted outside of isolation so that the profiler’s name and initials are removed from the Office2007 suite.

[HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\AIE\GUID\REGISTRY\USER\CurrentUser\SOFTWARE\Microsoft\Office\Common\UserInfo]
Delete “UserInitials”=””
Delete “UserName”=””

 

]]>
aj@ervik.as (Alexander Ervik Johnsen) The GiDWiM Guide Tue, 25 Aug 2009 15:40:25 +0000
Unattended Install of Microsoft Silverlight http://www.ervik.as/index.php/thegidwimguide-mainmenu/1935-unattended-install-of-microsoft-silverlight http://www.ervik.as/index.php/thegidwimguide-mainmenu/1935-unattended-install-of-microsoft-silverlight Here is a guide on how to do a unattended installation of Microsoft Silverlight.

The redistributable is in the form of a self-extracting cabinet file (.exe). You can run "silverlight.exe /q" to install it.

Or, if you unzip the .exe, you get silverlight.msi and silverlight.msp.

The run the following command to install them:

msiexec /i silverlight.msi /update silverlight.msp /qn

You could patch the msi from the msp and create an integrated install using:

msiexec /p silverlight.msp /a silverlight.msi

.. but this created a whole admin installation with extracted files. For us, it's easier to just deal with the msi and msp.

Stop Silverlight from checking for updates:

HKEY_LOCAL_MACHINE\Software\Microsoft\SilverlightValue UpdateMode = 2 (DWORD)

This could also be set in HKCU, but HKLM overrides this... I will update the XenApp and Terminal Server Tuning GPO soon, this will be included!

The slipstream also works:

Extract the exe into a different folder, copy the msp into another folder, then run
msiexec /p t:\patch\silverlight.msp /a t:\full\Silverlight.2.0\silverlight.msi /qb

That's it (just make sure silverlight.msi is in the full path with a folder call PFiles)

Silverlight Installation Switches

Below is a list of all of the Silverlight 1, 2, and 3 installation switches available and their description.  This will be included in the Silverlight Enterprise Deployment guide v2 which I’m writing - to be released soon.  In the mean time, here they are for your assistance:

The Silverlight install executable file has a number of different switches to customize the installation. The syntax of the setup file is as follows:

Silverlight<version>.exe

/q = quiet install or upgrade. This installs or upgrades Silverlight without seeing the GUI. When Silverlight is installed quietly, by default privacy related features such as DRM protected media playback and the Silverlight auto-update feature will be configured to prompt the user for permission on 1st use of the respective features. The Silverlight auto-update feature requires administrative rights so non-admin users will not be prompted.

/doNotRequireDRMPrompt = turns off the 1st use prompt allowing DRM Playback without requiring any end-user intervention. This setting is automatically included when the quiet install switch is used. By default, DRM Playback is set to prompt on 1st use.

/ignorewarnings = non-fatal warnings will not be reflected in the quiet installer return code but will instead return zero indicating success. This is useful if in testing or custom installation software requires a zero return code.

/noupdate = disables the Silverlight internal auto-updater. The Silverlight auto-updater requires administrative rights, so in environments where users have admin rights this switch may be used to prevent administrative users from being prompted to install updates if you want to control when updates to Silverlight are distributed. Group policy can also be used to implement this setting via a custom ADMX (see Silverlight Deployment Guide)

/qu = quiet uninstall. This uninstalls Silverlight without seeing the GUI. Note: This will only uninstall the exact same version that it installed, so is typically only useful for testing scenarios.

Note: The /doNotRequireDRMPrompt and /ignorewarnings switches are only available with the version of Silverlight 2 GDR 2 (KB 960353 / 2.0.40115.0) or later.

 

]]>
aj@ervik.as (Alexander Ervik Johnsen) The GiDWiM Guide Mon, 13 Jul 2009 15:24:02 +0000
Citrix XenApp and Terminal Server Tuning Tips Group Policy v1.0 http://www.ervik.as/index.php/thegidwimguide-mainmenu/1915-citrix-xenapp-and-terminal-server-tuning-tips-group-policy-v10-released-for-download http://www.ervik.as/index.php/thegidwimguide-mainmenu/1915-citrix-xenapp-and-terminal-server-tuning-tips-group-policy-v10-released-for-download Today, I finished up the testing phase of the new ADMX file for tuning of Citrix XenApp and Terminal Server.

In a recent project I am involved in with a big customer we needed to make a new set of GPOs for the Citrix XenApp 5.0 running on Windows Server 2008.
There is a lot of tuning in this GPO, I will update it when new tunings are found and post updates to the download section of ervik.as.

I've made the GPO in the new admx and adml format so that it can work 100% with Windows Server 2008. Also since the admx file format is in XML it's also quicker to load than regular adm files.

Citrix XenApp and Microsoft Terminal Server Tuning GPO. This GPO is in admx file format. Extract the zip file down to the c:\windows\PolicyDefinitions catalog

I also recommend that you install UPHClean if you are using Windows 2000 Server or Windows 2003 Server, to manage profiles at logoff and ensure no lock will remain leading to profile corruption and longer logoff times.

UPHClean is natively embedded into Windows Server 2008 (User Profile Service), so that is why you won't find it available for download anywhere.

Also, another Best Practice, I recommend that you Disable Data Execution Prevention on Windows 2003 Server and Windows Server 2008.

Here is how you can do that:

Warning! you have to modify the boot.ini file or use one of the following command line(s)

  • For Windows 2003 : bootcfg.exe /raw /fastdetect /noexecute=AlwaysOff /ID 1
  • For Windows 2008 : bcdedit.exe /set {current} nx AlwaysOff

Please note that this GPO is made for 32-bit systems. If you are planning on using this for a x64 bit OS, please adjust the GPO with WOW6432Node if hive is in HKLM\Software , when that is said, it works on x64 as well, but there are some Office 2007 tunings here which needs to be adjusted.

XenApp and Terminal Server GPO Download

If you can't se the Download Image above click here to DOWNLOAD

If you got any good XenApp or Terminal Server tuning tips that you want to include in the GPO, please post them in the comments field below, thanks!

]]>
aj@ervik.as (Alexander Ervik Johnsen) The GiDWiM Guide Wed, 01 Jul 2009 11:02:49 +0000
How to Integrate / Slipstream Microsoft Office 2007 Service Pack 2 http://www.ervik.as/index.php/thegidwimguide-mainmenu/1874-how-to-integrate-slipstream-microsoft-office-2007-service-pack-2 http://www.ervik.as/index.php/thegidwimguide-mainmenu/1874-how-to-integrate-slipstream-microsoft-office-2007-service-pack-2 The Service Pack 2 (Sp2) of Microsoft office 2007 is out and available for download. Many would be interested to know how you can integrate or slipstream Microsoft Office 2007 Service Pack 2 (SP2) in the installation source.
Dealing mostly with Citrix XenApp environments this is extremely useful.

Create a network installation source

Insert the Office 2007 installation CD / DVD into your optical (CD / DVD) drive.

Copy all content of the CD to a folder under your hard drive, for example in my case its “F:\O_2007

Obtain the Service Pack 2 (SP2)

Download the Microsoft Office 2007 Service Pack 2

Extract the Service Pack

Create a folder “SP2” under the F drive (in your case create where you have the Office 2007 Service Pack two)

Open up the command prompt, and navigate to location F:\. Once there, run command office2007sp2-kb953195-fullfile-en-us.exe /extract:F:\SP2\

 

It should through up the EULA, you are in need to accept it to proceed to the extraction stage.

 

 

Once finished, you may find bunch of .MSP files under SP2 folder / directory.

 

Integrate / Slipstream

Now please copy all files of the SP2 folder to updates (F:/O_2007/updates) folder under the F:/O_2007 directory, where you have copied all files of the installation CD / DVD.

That’s it.. You may burn that back to any DVD or keep it any where in your HDD or network.. As now when you start the installation in a PC / System, Office 2007 installer will complete the installation at SP2 stage !!!

Infact any update which is placed under Updates folder of the installation source will be installed at the time of installation, so this guide also applies to patches and future service packs.

 

 

 

 

]]>
aj@ervik.as (Alexander Ervik Johnsen) The GiDWiM Guide Tue, 23 Jun 2009 10:35:32 +0000
Google Apps Sync Disables Outlook Search http://www.ervik.as/index.php/thegidwimguide-mainmenu/1870-google-apps-sync-disables-outlook-search http://www.ervik.as/index.php/thegidwimguide-mainmenu/1870-google-apps-sync-disables-outlook-search The Outlook team is reporting on their blog that there are issues running the Google Apps Sync plugin with Microsoft Office Outlook.

The first one is that it disables Windows Desktop Search from indexing Outlook. The second issue is that it disables the Microsoft Outlook Connector.

To recover from the first issue, you can change the following registry key;

Key: HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Windows Search
Value name: PreventIndexingOutlook
Value type: REG_DWORD
Value data: 0

Uninstalling Google Apps Sync will also re-enable the indexing. If you are using Google Apps Sync version 1.0.22.1945 or lower, then you’ll have to first install the latest version of Google Apps Sync and then uninstall it again to recover (or use the registry fix).

The second issue is easier to overcome as the Outlook Connector will notify you of it with an error that some functionality will be disabled. By clicking “Yes” on the dialog when prompted, the Outlook Connector will reset the proper keys and will function correctly.

In addition to the issues reported by the Outlook team, Google also reports that Google Apps Sync disables the Acrobat PDF Maker Toolbar and Apple’s Outlook Change Notifier.

Microsoft and Google are working together on fixing the mentioned issues.

]]>
aj@ervik.as (Alexander Ervik Johnsen) The GiDWiM Guide Tue, 23 Jun 2009 07:42:23 +0000
Citrix Workflow Studio wfs files released for download http://www.ervik.as/index.php/thegidwimguide-mainmenu/1869-citrix-workflow-studio-wfs-files-released-for-download http://www.ervik.as/index.php/thegidwimguide-mainmenu/1869-citrix-workflow-studio-wfs-files-released-for-download I've made plenty of WorkFlows for Citrix WorkFlow Studio these past months, and I just made 3 of them available for download, right here on www.ervik.as!

Here are the following wfs files available for download, more will come:

  1. Delete VMs
  2. Start VMs
  3. ShutDown VMs

Click here to go to the WorkFlow Studio Download section

]]>
aj@ervik.as (Alexander Ervik Johnsen) The GiDWiM Guide Mon, 22 Jun 2009 11:54:34 +0000
Unattended Install of CutePDF and Ghostscript in Citrix XenApp or Microsoft Terminal Server http://www.ervik.as/index.php/thegidwimguide-mainmenu/1787-unattended-install-of-cutepdf-and-ghostscript-in-citrix-xenapp-or-microsoft-terminal-server http://www.ervik.as/index.php/thegidwimguide-mainmenu/1787-unattended-install-of-cutepdf-and-ghostscript-in-citrix-xenapp-or-microsoft-terminal-server I had some problems with the installation of CutePDF and it's Ghostscript driver. The problem is that the Ghostscript driver does not support UNC path when you run it from a cmd/batch script. It all runs perfectly from the RUN command within the OS, but not in DOS mode.

Here is the script that I made and that works to deploy CutePDF and Ghostscript driver unattended.
First download the cutepdf writer from there

Download the latest ghostscript driver from here

Now extract the GhostScript drivers to a folder if you follow my script this should be ......\CutePDF\ghostscript
After extracting the files you are now ready to run or modify the script. 

rem @echo off
Rem =========================================================================
Rem     File:   CutePDF.cmd
Rem     Date:   jun. 02, 2009
Rem     Author: Alexander Ervik Johnsen, www.ervik.as - Application Delivery and Virtualization News
Rem =========================================================================

Set SoftLib=\\fileservername\Xenappinst
set ghostlocal=C:\Program Files(x86)\GPLGS
rem set ghostremote=\\fileservername\Serverinst\Xenappinst\CutePDF\ghostscript\setupgs.exe
set pdflocal=C:\Program Files(x86)\Acro Software\CutePDF Writer
set pdfremote=\\fileservername\Xenappinst\CutePDF\CuteWriter.exe


If "%App%"=="" GoTo Cont1
:Cont1

Rem ===================
Rem install ghostwriter
Rem ===================
Echo Installing Ghostwriter for PDF

change user /install

rem :: test if ghostlocal exists
rem if exist "%ghostlocal%" goto l-ghost-end

rem :: test if ghostremote exists
rem if not exist "%ghostremote%" goto l-ghost-end

:: install ghost writer
cmd /c start /wait /d \\fileservername\Xenappinst\CutePDF\ghostscript\ \\fileservername\xenappinst\cutepdf\ghostscript\setupgs.exe "%ProgramFiles(x86)%\GPLGS"


rem :l-ghost-end

Echo.
Echo Installing Application PDFCreator

:: ------------------
:: install pdf writer
:: ------------------

:: test if pdflocal exists
if exist "%pdflocal%" goto l-pdf-end

:: test if pdfremote exists
if not exist "%pdfremote%" goto l-pdf-end

:: install pdf writer
%pdfremote% /verysilent

:: wait for install to finish
ping -n 5 1.1.1.1

:: now kill any browser advert/pop-up
taskkill /IM iexplore.exe
taskkill /IM firefox.exe

:l-pdf-end

change user /execute

:end

@echo on

]]>
aj@ervik.as (Alexander Ervik Johnsen) The GiDWiM Guide Tue, 02 Jun 2009 15:05:43 +0000
Unattended Install of Microsoft .NET Framework http://www.ervik.as/index.php/thegidwimguide-mainmenu/1775-unattended-install-of-microsoft-net-framework http://www.ervik.as/index.php/thegidwimguide-mainmenu/1775-unattended-install-of-microsoft-net-framework These install scripts use the unmodified .NET Framework installers available from microsoft.com/downloads.
I’ve provided direct links to these installers and also scripts that installs unattended. All releases are included in this article, from .NET Framework 1.0 to .NET Framework 3.5 SP1.

Click here for Deploying Microsoft .NET Framework Version 3.0 and more information on deploying the latest 3.0 releases.

Click here for Deploying Microsoft .NET Framework Version 3.5 and more information on deploying the latest 3.5 releases.

 

.NET Framework 1.0

@ECHO OFF
ECHO .NET Framework 1.0..
START /WAIT dotnet10.exe /Q:A /T:"%TEMP%\DN11" /C:"INSTALL.EXE /Q"
ECHO .NET Framework 1.0 Service Pack 3..
START /WAIT NDP1.0sp3-KB867461-X86-Enu.exe /Q

.NET Framework 1.1

@ECHO OFF
ECHO .NET Framework 1.1..
START /WAIT DOTNETFX.EXE /Q:A /C:"INSTALL.EXE /Q"
ECHO .NET Framework 1.1 Service Pack 1..
START /WAIT NDP1.1sp1-KB867460-X86.exe /Q

.NET Framework 2.0

@ECHO OFF
ECHO .NET Framework 2.0..
START /WAIT DOTNETFX.EXE /Q:A /C:"INSTALL.EXE /Q"
START /WAIT NetFx20SP1_x86.exe /PASSIVE /NORESTART

.NET Framework 3.0

@ECHO OFF
ECHO .NET Framework 3.0..
START /WAIT dotnetfx3.EXE /PASSIVE /NORESTART
START /WAIT dotnetfx30SP1setup.EXE /PASSIVE /NORESTART

.NET Framework 3.5

The .NET Framework 3.5 includes .NET Framework 3.0 with Service Pack 1 and .NET Framework 2.0 with Service Pack 1. If you install .NET Framework 3.5 you do no need to install 3.0 or 2.0 (or Service Pack 1) separately.

@ECHO OFF
ECHO .NET Framework 3.5 Unattended Installation in progress...
START /WAIT dotnetfx35.EXE /PASSIVE /NORESTART
 
or you can use this method for the unattended installation of .NET 3.5 SP1.

The unattended script looks like this :

@echo off
REM Install .Net Framework 3.5 SP1 - 3.0S P2 - 2.0 SP2
REM

pushd %~dp0
cd ..

set AppSourcePath=Source
set AppConfigPath=Configuration
set AppInstallPath=Scripts
set AppHotfixesPath=Hotfixes

set LogFile=”%temp%\Logfile_dotNetFramework35SP1-30SP2-20SP2.log”
set Switches=/qn ALLUSERS=1 REBOOT=”ReallySuppress”
set MST=TRANSFORMS=

cls
echo.
echo Installation of  .Net Framework 3_5SP1-3_0SP2-2_0SP2 in progress, please do not exit during this operation.
echo.

cd %AppSourcePath%
start /wait dotNetFx35setup.exe /q /norestart /lang:ENU

popd
endlocal

]]>
aj@ervik.as (Alexander Ervik Johnsen) The GiDWiM Guide Mon, 01 Jun 2009 10:02:50 +0000