Thursday, November 14, 2013

Messaging integration with Outlook via CDO.DLL



Prior to Outlook 2007, Collaboration Data Objects CDO.dll was used to enable apps to utilise the outlook client for messaging.  Starting with Outlook 2007 MS begain to change the model for external apps usage of outlook client messaging.  This article give more details about the situation.  Ultimately these messaging access methods are no longer supported and should be redesigned by developers.

Thursday, November 7, 2013

IsUninst.exe command line parameters


Copied from
http://www.symantec.com/connect/blogs/uninstall-setupexe-isuninstexe

If any vendor app is using Isuninst.exe for the app uninstall, you will find some useful command line parameters attached.
The silent mode parameter for Isuninst.exe is -a.
The complete uninstallation command for the Windows client is:
Sample: 
C:\WINDOWS\Isuninst.exe -a -f "C:\Program Files\F-Secure\Ssh\Uninst.isu"

Uninst.exe Command Line Parameters

The command line parameters for uninst are listed below:
Parameter:
-y Suppresses the message box that asks the user to confirm that uninstallation should proceed. The feedback dialog box is still displayed, as is the shared file dialog box (which is displayed when the reference count of a shared DLL is decremented to zero).
-x Deletes all files, including those core components that normally do not get removed. (All user interface elements are displayed.)
-f<log file name> Specifies the location and name of the uninstallation log file.
For example: 
-f"C:\Program Files\Company Name\Uninst.isu" 

-c<DLL filename> Specifies the location and name of the external DLL that is to be used at the time of uninstallation.
For example: 
-c"C:\Program Files\Company Name\Custom.dll"

-a Runs the uninstaller in silent mode. In this mode unInstallShield will not display any messages to the end user indicating that the uninstallation has taken place. When running in silent mode, if unInstallShield encounters a shared file for which it would normally display the dialog box asking the user whether to remove the shared file, it will automatically reduce the reference count to zero and not remove the file. Therefore, running unInstallShield in silent mode is functionally equivalent to an uninstallation in which the user selects the "No to all" option when this dialog box first appears.
-d Identifies a single file that is to be deleted. The display of user interface elements is the same as when the -a switch is used.
For example: -dC:\Temp\Filename.ext 

-m Creates an uninstallation .mif file. If you do not specify a filename, the default (Uninst.mif) is used. You cannot specify a path-the file must be placed in the Windows System folder.

Friday, November 1, 2013

Setting up a SCCM 2007 package


This is really about naming conventions and keeping the environment consistant and easy to navigate as time goes by.  If even small differences in the process occur, the environment can become frustratingly varied make it difficult to check and find things.

Create the package
The important point here is to properly complete the Name, Manufacturer, Version fields.  The package names are listed using these fields to if you want the list to appear correctly in proper alphabetical order you must be consistant - preferably always using the Manufacturer field as this the first item used in the package list.

I think the preference here may be to use a tool to generate an SMS (package definition file) file which is then imported.  It can quickly populate the required fields consistantly - if the MSI has been created to standards!) - still worth checking text in the file before importing to make sure the fields are correct and as you wish them to appear in SCCM. 

Create the programs - install/uninstall
It is a very good idea to refer to the program type AND package name in the program title.  This is because the program title can be easily seen in the SCCM client infomation if it is interogated using the SCCM Client Center tool.  Be consistant: Manufacturer - App/Package/Product/Name -Version 
 e.g. Install - Adobe Acrobat Reader X 10.1.6
Consider using the import for the Windows Installer tab because this can provide the source location to repair from when the MSI installs on the target machine.

remember to Copy to Distribution Points :)

Create the AD Group.
If you are using AD groups queries from collections - Create the AD group. Be consistant: Manufacturer - App/Package/Product/Name -Version 

Create the Collection
Be consistant: Manufacturer - App/Package/Product/Name -Version 

Create the Advert
Be consistant: Manufacturer - App/Package/Product/Name -Version 
Put a - Install or a -Uninstall etc at the end of the advert name so that the purpose of the advert can be easily determined.

Wednesday, October 30, 2013

Unattended Sourceforge.net


This link contains useful information about various installer types:

Installshield
PackagefortheWeb
Wise InstallMaster
Inno Setup
Nullsoft Scriptable Install System
Ghost installer


http://unattended.sourceforge.net/installers.php

keywords: reference uninstall install command parameter

Thursday, October 17, 2013

Mode of Use - the poison in the App-V mix.

Mode of Use - the poison in the App-V mix.


While the assocation can appear to work in testing - in the real world it does not work as the users require it to.

App1 physical (due to drivers. The app and drivers were not separated out) is launched outside the bubble

App2 has file association links to App1 and runs in a bubble.  If App1 is NOT running then the FTAs launch App1 in the bubble ok.  BUT if App1 is already running outside the bubble the FTA links fail because when they are attempted App1 outside the bubble can't see the file resources INSIDE the bubble.

e.g. ActivInspire=App1  and CuttingEdge=App2


Packaging (Preparing physical installs) and Virtualisation (preparing virtual applications) are generally regarded as very similar processes on the path to "application delivery" but in reality these two approaches are quite different.  To avoid wasteful reworking exercises it is important to select the best and most suitable approach is selected during the packaging phase(physical or virtual).  Application virtualisation is often seen as a desirable and as projects often try to set and predict percentages of virtualised applications that will be attained.  Often the targets are unrealistic because the limitations of virtualisation are not fully appreciated early in the project. 

The list of things that cannot be virtualised is relatively well known and typically includes
Drivers
Com+ components
Very Large >4Gb
Part of the operating system

Ideally, the physical or virtual decision should be made during the discovery phase or soon after the "packager" starts work.  There should also be the option to interogate expert users or application owners about the mode of use that is applied to the normal use of the software.

Types of software that should start to ring alarm bells are:
Software that interoperates with other applications.  See above.
Software that has ODBC connections that may need to be adjusted by advanced IT users.
Software that uses services that might sit quietly in the background.  Virtual services only become available when the app has been launched. (Websphere)

In addition there are items that have no technical restrictions to virtualisation but require changes to the way users operate the software. (Addins)  Is it reasonable to force (awkward?) changes to way users carry out their tasks just to accomodate the implemention of a new type of software delivery?  Often user communities will not accept changes to way things users work which shoot yet another hole in the numbers of applications that can be virtualised.

Virtualisation will usually be the default approach unless there is a reason it is not possible. In reality the number of apps that end up on the cannot/should not be virtualised because suprisingly and disappointingly large. The numbers begin to make it questionable what value virtualisation brings considering the additional operational complexity necessary to run two application delivery technologies.  One of the advantages of virtualising applications is that it can be relatively quick to run the sequencer and produce a virtual application.  However all that effort can easily go to waste once it arrives in front of a user and it does not work as they need it to.

Wednesday, October 16, 2013

Minitab 15 fails to virtualise in App-v 4.61


Configuration and Streaming launches in the sequencer appear to work fine however when attempted on a client the following error appears

Secure Loader Error
The Secure Loader user to protect this software has encountered a fatal error.  Please contact your software vendor.

Thursday, October 10, 2013

Batch File Parameters


The below is copied from the link:

http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/percent.mspx?mfr=true

See the link for more information on the modifiers.

You can use batch parameters anywhere within a batch file to extract information about your environment settings.

Cmd.exe provides the batch parameter expansion variables %0 through %9. When you use batch parameters in a batch file, %0 is replaced by the batch file name, and %1 through %9 are replaced by the corresponding arguments that you type at the command line. To access arguments beyond %9, you need to use the shift command. For more information about the shift command, see Shift The %* batch parameter is a wildcard reference to all the arguments, not including %0, that are passed to the batch file.

For example, to copy the contents from Folder1 to Folder2, where %1 is replaced by the value Folder1 and %2 is replaced by the value Folder2, type the following in a batch file called Mybatch.bat:

xcopy %1\*.* %2

To run the file, type:

mybatch.bat C:\folder1 D:\folder2

This has the same effect as typing the following in the batch file:

xcopy C:\folder1 \*.* D:\folder2

You can also use modifiers with batch parameters. Modifiers use current drive and directory information to expand the batch parameter as a partial or complete file or directory name. To use a modifier, type the percent (%) character followed by a tilde (~) character, and then type the appropriate modifier (that is, %~modifier).