SAP GUI and administrator rule file

Did you deploy SAP (virtualized or not) and received the below error message? In this case – you need MS XML 4.0 SP3 installed. This was more commonly available on Windows XP endpoints, but now that people are moving forward with the Windows 7 and Windows Server 2008 R2 it seems to be omitted from any base image deployed.

sapgui1
Failed to load administrator rule file. Check your installation

 

sapgui2

CAPICOM and Windows Server 2008 R2

If a software is dependent on the CAPICOM module for authentication and you get this error when you attempt to login to the system on a newer platform (such as Windows Vista, Windows 7 or their newer brothers in server-editions) – it can be resolved using quite straightforward methods.

image
Encryption failed. The requested operation is not supported in this platform. (0x80880900)

You need the following things;
Platform SDK Redistributable: CAPICOM
Security Update for CAPICOM (KB931906)

Download and install them in the above listed order.
Once the installation is completed – the actual files we need are placed in this directory;

C:\Program Files\Microsoft CAPICOM 2.1.0.2\Lib\X86

Copy the file to c:\windows\system32 (on a 32-bit system that is, for a 64-bit system we need to place it into c:\windows\syswow64)

Run the following command to register the newly copied module;
regsvr32 c:\windows\system32\capicom.dll

Once this is completed – the error should be resolved in the next login attempt

Setup a VM for packaging

1. Install Windows 7 that corresponds to your environment (Pro N x86 is my edition)

2. Disable User Account Control

3. Disable System Protection

4. Run Quest vWorkspace Desktop Optimizer

5. Install .NET Framework 4.0

6. Install prerequisites;

Visual C++ 2005
VC++ 2005 SP1
VC++ 2005 SP1 ATL security update
VC++ 2005 SP1 MFC security update
VC++ 2008
VC++ 2008 SP1
VC++ 2008 SP1 with ATL security update
VC++ 2008 SP1 MFC security update
VC++ 2010 SP1
VC++ 2012 Update 3
VC++ 2013
Visual J# 2.0
VS 2010 F# 2.0 SP1
.NET Framework 4.5.1

7. Set keyboard layout

8. Ensure VMware Tools are updated

9. Disable all power-settings

10. Run MSCONFIG and disable GUI of boot

11. Remove any excess hardware (floppy-drive, usb-devices)

12. Create shortcuts to any mapped drives / source-folders on the desktop

13. Show all icons in the system tray

14. Run Windows Update (might need to re-enable the service)

15. Activiate Windows

Adobe Reader Prompts / Performance

This is a repost of an old article published on an old blog.

As Adobe Reader is the most commonly discussed security threat (Microsoft apparently has shapen up in their process to address problems) and its still a widely distributed software – this can be seen as simple ways of improving its performance and end-user experience

Avoiding prompts

Updater
The most common annoyances in a corporation is the automatic updates or call-backs to the vendor. Adobe has for several years released the Customization Wizard which automatically can disable these things in a installation package. Apart from that you can also remove the Update-plugin (to decrease loading time) by removing the .API-file (Updater.api) from the plug_ins folder (C:\Program Files (x86)\Adobe\Reader 9.0\Reader\plug_ins).

Trust Manager
Something that rarely effects people is the Trust Manager and that its set to prompt users before update a root certificate.

image

The setting is available under Preferences –> Trust Manager and can easily be flipped off (Ask before installing). The prompt that may show-up (in case this is left checked) reads something like this;

A new security settings update is available from Adobe Systems. Would you like to install it now?

Edit Warnings
A setting that will lead to less prompts, but perhaps some of them are desired, is the Do not show Edit Warnings

image

Available under Preferences –> General this can be either reset or enabled / disabled. From the help of Adobe Acrobat Reader 8 the following can be read;

Do Not Show Edit Warnings
Disables warning boxes that would normally appear when you delete items such as links, pages, page thumbnails, and bookmarks.

Reset All Warnings
Restores default settings for warnings.

Multimedia-players
There are several settings for howto interact with third-party programs used to view multimedia files

image

The settings for using an external multimedia-player can be defined using two levels of trust; Trusted or Other. Other has a default of prompting the user if they wish to open a file from an “other” source. Trusted is given the benefit of the doubt, and is considered a trusted source and always to allowed being executed.

Digital Signatures
Digital Signatures has several options and specifically there is a hidden setting under Preferences –> Security and by clicking the Advanced Preferences…

image

The default for verifying a signature is to use the method specified within document, however if that is not available it may cause the end-user to be prompted. To alter this – just check the radio-button below to use the Adobe Reader default-method if the document specified method is not available. Personally, I have never been prompted by this.

Performance

Rendering
Adobe Reader have continuely been improving its performance, however in a RDS (or a like) environment there might be settings to improve the usage of the application. Citrix has documented two in their knowledgebase-archive which contains the following resolution;

Disable the options by going to the Edit menu > Preferences > Rendering and uncheck Smooth line art and Smooth images.

Screen Reader
There are quite often loads of tips available online and a common one is to clear out the plug_ins folder. This increases load time, but also disables certain functionality. A specific example is when Adobe Reader is started by opening a document. This may cause performance problems (especially the older versions of Reader), but v9 allows a more granular option.

image

The default option for Screen Reader is to only optimize for larger documents, with the minimum defined for 50 pages. This can be set to Only read the currently visible pages – decreasing the overhead when starting up. It may not give the same performance improvement as when v8.0 was released, but its still an improvement.

One more for the keeping;

http://support.citrix.com/article/CTX119372

1. Open up Adobe Acrobat Reader.

2. In Acrobat Reader, select Edit > Preferences.

3. Under Categories, select Reading.

4. Under the Screen Reader Options section, clear the Confirm before tagging documents checkbox then click OK

Seems to effect Adobe Acrobat Reader 8 on Windows Server 2003 mostly…

Update;

http://kb2.adobe.com/cps/887/cpsid_88761.html

ISI Toolbox 6.1 Pharma–moving towards x64

 

This is a repost of an old article published on an old blog.

When packaging the Adobe Acrobat plugin ISI Toolbox 6.1 Pharma on a x86 environment and moving the package to a x64 environment – it complains about corrupt licensing. The installer seems to have issues running and installing on a x64 platform – so using App-V you can leverage the fact that you get around the installation while moving forward.

The error states;

Failed to initialize license License object

Sequencer
Windows XP SP3
Main package; Adobe Acrobat Pro 9.4.3
Suited Package; ISIToolBox_61_Pharma_Release_072309
App-V 4.6 SP1 sequencer (probably has no relevance – just that DSC is less hastle with this version)

Note; Do not start Adobe Acrobat while sequencing at any point

Client
Windows 7 x64
App-V 4.6 SP1 client + Hotfix package 1

When performing a vanilla sequence the following is noted just before the error message when reviewing the background activity with Process Monitor.

This indicates a hard-coded path – something often located in a .ini-file or registry. Just checking the registry gave me a bunch of stuff – locate the key that needs to be updated below. You can find the correct places for the version you are using by searching for isi.license.dll.

Usually App-V solves these types of issues by replacing paths with variables (CSIDL), however since it says file:// and then the path – App-V assumes that this is a link to something not part of the package – therefore we have to manually change the path.

There were some assembly references I did not update (they are not listed at all below).

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\CLSID\{063018F7-202A-3701-9525-A57EAEAF259A}\InprocServer32\1.1.4.1001]
“Assembly”=”ISI.License, Version=1.1.4.1001, Culture=neutral, PublicKeyToken=f44a930efc8ab7ca”
“Class”=”ISI.License”
“CodeBase”=”file:///C:/Program Files (x86)/Common Files/ISI/ISIToolBox/License/ISI.License.DLL
“RuntimeVersion”=”v1.1.4322”
[HKEY_CLASSES_ROOT\CLSID\{0B278123-78A5-3B6F-A3A4-9732FDEEDBA0}\InprocServer32]
@=”mscoree.dll”
“Assembly”=”ISI.License, Version=1.1.4.1001, Culture=neutral, PublicKeyToken=f44a930efc8ab7ca”
“Class”=”ISI.LicenseInvalidMachineException”
“CodeBase”=”file:///C:/Program Files (x86)/Common Files/ISI/ISIToolBox/License/ISI.License.DLL
“RuntimeVersion”=”v1.1.4322”
“ThreadingModel”=”Both”
[HKEY_CLASSES_ROOT\CLSID\{0B278123-78A5-3B6F-A3A4-9732FDEEDBA0}\InprocServer32\1.1.4.1001]
“Assembly”=”ISI.License, Version=1.1.4.1001, Culture=neutral, PublicKeyToken=f44a930efc8ab7ca”
“Class”=”ISI.LicenseInvalidMachineException”
“CodeBase”=”file:///C:/Program Files (x86)/Common Files/ISI/ISIToolBox/License/ISI.License.DLL
“RuntimeVersion”=”v1.1.4322”
[HKEY_CLASSES_ROOT\CLSID\{C4856FE7-44B4-3DBF-8F94-768949D66B9E}\InprocServer32]
@=”mscoree.dll”
“Assembly”=”ISI.License, Version=1.1.4.1001, Culture=neutral, PublicKeyToken=f44a930efc8ab7ca”
“Class”=”ISI.LicenseCorruptException”
“CodeBase”=”file:///C:/Program Files (x86)/Common Files/ISI/ISIToolBox/License/ISI.License.DLL
“RuntimeVersion”=”v1.1.4322”
“ThreadingModel”=”Both”
[HKEY_CLASSES_ROOT\CLSID\{C4856FE7-44B4-3DBF-8F94-768949D66B9E}\InprocServer32\1.1.4.1001]
“Assembly”=”ISI.License, Version=1.1.4.1001, Culture=neutral, PublicKeyToken=f44a930efc8ab7ca”
“Class”=”ISI.LicenseCorruptException”
“CodeBase”=”file:///C:/Program Files (x86)/Common Files/ISI/ISIToolBox/License/ISI.License.DLL
“RuntimeVersion”=”v1.1.4322”
[HKEY_CLASSES_ROOT\CLSID\{DEE60E4D-4E40-3F3E-95C7-63B85AD2A17F}\InprocServer32]
@=”mscoree.dll”
“Assembly”=”ISI.License, Version=1.1.4.1001, Culture=neutral, PublicKeyToken=f44a930efc8ab7ca”
“Class”=”ISI.LicenseInvalidException”
“CodeBase”=”file:///C:/Program Files (x86)/Common Files/ISI/ISIToolBox/License/ISI.License.DLL
“RuntimeVersion”=”v1.1.4322”
“ThreadingModel”=”Both”
[HKEY_CLASSES_ROOT\CLSID\{DEE60E4D-4E40-3F3E-95C7-63B85AD2A17F}\InprocServer32\1.1.4.1001]
“Assembly”=”ISI.License, Version=1.1.4.1001, Culture=neutral, PublicKeyToken=f44a930efc8ab7ca”
“Class”=”ISI.LicenseInvalidException”
“CodeBase”=”file:///C:/Program Files (x86)/Common Files/ISI/ISIToolBox/License/ISI.License.DLL
“RuntimeVersion”=”v1.1.4322”
[HKEY_CLASSES_ROOT\CLSID\{EF11C26C-CE73-30C6-8D58-8085BBBB8FF4}\InprocServer32]
@=”mscoree.dll”
“Assembly”=”ISI.License, Version=1.1.4.1001, Culture=neutral, PublicKeyToken=f44a930efc8ab7ca”
“Class”=”ISI.LicenseExpiredException”
“CodeBase”=”file:///C:/Program Files (x86)/Common Files/ISI/ISIToolBox/License/ISI.License.DLL
“RuntimeVersion”=”v1.1.4322”
“ThreadingModel”=”Both”
[HKEY_CLASSES_ROOT\CLSID\{EF11C26C-CE73-30C6-8D58-8085BBBB8FF4}\InprocServer32\1.1.4.1001]
“Assembly”=”ISI.License, Version=1.1.4.1001, Culture=neutral, PublicKeyToken=f44a930efc8ab7ca”
“Class”=”ISI.LicenseExpiredException”
“CodeBase”=”file:///C:/Program Files (x86)/Common Files/ISI/ISIToolBox/License/ISI.License.DLL
“RuntimeVersion”=”v1.1.4322”
[HKEY_CLASSES_ROOT\CLSID\{FFEB2081-F83C-35B9-953C-07424028766D}\InprocServer32]
@=”mscoree.dll”
“Assembly”=”ISI.License, Version=1.1.4.1001, Culture=neutral, PublicKeyToken=f44a930efc8ab7ca”
“Class”=”ISI.Register”
“CodeBase”=”file:///C:/Program Files (x86)/Common Files/ISI/ISIToolBox/License/ISI.License.DLL
“RuntimeVersion”=”v1.1.4322”
“ThreadingModel”=”Both”
[HKEY_CLASSES_ROOT\CLSID\{FFEB2081-F83C-35B9-953C-07424028766D}\InprocServer32\1.1.4.1001]
“Assembly”=”ISI.License, Version=1.1.4.1001, Culture=neutral, PublicKeyToken=f44a930efc8ab7ca”
“Class”=”ISI.Register”
“CodeBase”=”file:///C:/Program Files (x86)/Common Files/ISI/ISIToolBox/License/ISI.License.DLL
“RuntimeVersion”=”v1.1.4322”
[HKEY_CLASSES_ROOT\Record\{21E52839-5296-3F32-9B13-4F9FF30FD183}\1.1.4.1001]
“Assembly”=”ISI.License, Version=1.1.4.1001, Culture=neutral, PublicKeyToken=f44a930efc8ab7ca”
“Class”=”ISI.LicenseHResult”
“CodeBase”=”file:///C:/Program Files (x86)/Common Files/ISI/ISIToolBox/License/ISI.License.DLL
“RuntimeVersion”=”v1.1.4322”
[HKEY_CLASSES_ROOT\Record\{F4EA5A3C-EE9B-3FB0-A2B7-D18B82E6259E}\1.1.4.1001]
“Assembly”=”ISI.License, Version=1.1.4.1001, Culture=neutral, PublicKeyToken=f44a930efc8ab7ca”
“Class”=”ISI.LicenseType”
“CodeBase”=”file:///C:/Program Files (x86)/Common Files/ISI/ISIToolBox/License/ISI.License.DLL
“RuntimeVersion”=”v1.1.4322”

SQL Management Studio 2008 R2 Express – 1603

If you are attempting to install the SQL Management Studio 2008 R2 Express for x64 on a Windows 7 system you might have quite a few installation errors. One that was consistently bugging me was a generic 1603 from the trin_aide_cpu32_1.log. This indicated a failure for the VSTA modules. The failure from the above log looked like this;

11/09/11 13:50:08 DDSet_Error: The Commandline ‘”C:\Windows\Microsoft.NET\Framework\v3.5\addinutil.exe” -PipelineRoot:”C:\Program Files (x86)\Common Files\Microsoft Shared\VSTA\Pipeline\.” -Rebuild -Silent’ returned non-zero value: -1073741819.

Running the command from an elevated command-prompt revealed this;

C:\Windows\system32>”C:\Windows\Microsoft.NET\Framework\v3.5\addinutil.exe” -Pip
elineRoot:”C:\Program Files (x86)\Common Files\Microsoft Shared\VSTA\Pipeline\.”
-Rebuild -Silent
Finished updating cache

For some reason – the above was considered a failure (due to its exit code) and stopped the installation from progressing. Reading a thread in the forums regarding a similar error (but not identical) one possibility that presented itself was to remove the custom action all together. 

Reviewing the folder x64\setup – you can see the below content;

image

Trin_aide.msi is the installation-file in question and running it manually does not resolve the issue. Use InstEd to open the file and verify the actions in the table InstallExecuteSequence – normally it’s a good idea to sort that specific table after the sequence column – as it gives you an overview in what order the actions take place.

The following steps relate to our problem;

image

image

You can see the sequence number to the right. The yellow color indicates that the row was removed within an applied MST-file. InstEd (as opposed to Orca) allows you to create a new MST and will show the differences between additions and removals.

Installing the trin_aide.msi with the newly created MST-file resolves the problem – once the file has been installed the Management Studio setup will only verify that all resources are in place and simply bypass the installation altogether.

Include patches in a single run

PATCH property of the Windows Installer engine which arrived with the Windows Installer 4.0 release. Its quite useful during an initial deployment incase you maintain all files in their original state, include patches in a single installation run and avoid several reboots. Several patches can be listed in the property PATCH and they are installed from left to right. Use the semicolon ( ; ) as a separator. The file path for the patch, regardless of current working directory and location of the patch,  has to be an absolute path.

set MSIARG=/i
set MSIARG=%MSIARG% "%~dp0\setup.msi"
set MSIARG=%MSIARG% PATCH="%~dp0\AppV4.6SP1-WD-KB2586968-x86.msp"
set MSIARG=%MSIARG% /qb
msiexec %MSIARG% 

Source; http://msdn.microsoft.com/en-us/library/windows/desktop/aa370576(v=vs.85).aspx

Office 2007 without Outlook

Part 2;
Well, Finally – here comes the complete article of howto deploy office without having Outlook as the default mail client

Part 1;

If you have deployed Office, you probably deployed it either with Outlook or without.

However, if you deployed it with Outlook – you probably wanted Outlook as the default mail-client. This isn’t the case for everyone, and that gave me a headache a while back. Loads of registry hacks and work later (and more work later on) I solved the issue thanks to a techician writing a bat-file resetting the registry keys.

Now I saw this blog-post where the Office Resource team actually will publish an article on howto resolve this automagically.

I wish I had that one year ago.