Windows job scheduled through TWS gives MDAC error - tivoli

I have a job defined for a Windows FTA (TWS term). This job calls a bat script.
When thte script is run from the command prompt on the windows box, it runs ok, but when it is scheduled through TWS it comes up with the errors:
Application started at 6/3/2014 10:00:16 PM
There is error in the file Field_Details.csv.Please check with the below error
The .Net Framework Data Providers require Microsoft Data Access Components(MDAC). Please install Microsoft Data Access Components(MDAC) version 2.6 or later.
There is error in converting Field in Excel(Field_Details.csv) to list in program. Please Check with below error message
The .Net Framework Data Providers require Microsoft Data Access Components(MDAC). Please install Microsoft Data Access Components(MDAC) version 2.6 or later.
Application ended at 6/3/2014 10:00:16 PM
This error is stopping the script from continuing. I've seen some other posts about stopping and starting app pools on the windows box, but the box this is running on does not have an IIS Manager, so I don't know whaere to go from here.
ANy help is appriciated.

I work on TWS. I had a very similar error message (MDAC) coming up on one of our FTAs. There wasn't a fix per-se, but what was missing was that the file that TWS calls before the jobs starts, to check if there is a user-specific setup file to call was not checking for that file. We set it to check and ultimately call the setup-file and everything was good.
The file which does the check is in the TWS install dir, named jobmanrc.cmd. The scripting in that file checks to see if the (user-specific) setup file, djobmanrc.cmd exisits, if it does, it sources it to set up variables, etc.
I'd say check to see if your jobmanrc.cmd is checking for djobmanrc.cmd.

Related

Can't install Websphere mq client error 1603

I'm trying to install a IBM WebSphere MQ Client v8.0.0.3 on a Windows 7 SP 1 Enterprise machine, however I fail.
The installation starts, I select the language, splash comes on and after a bit the splash goes away and I'm left with a "Installation Wizard was interrupted", even though I click nothing.
I run it as administrator, and am a member of the local administrators group.
The installation log: https://gist.github.com/anonymous/a1ff7efe58fe7c006297
Edit:
A colleague with the appropriate mqm rights tried to install it, but failed also.
Everyone else here uses Windows server 2008 SP1 enterprise and have no problem with the installation.
Edit2:
It seems that the error is coming because of our directory structure:
Error 1327.Invalid Drive: H:\
We have our local settings, including appsettings on a server, instead of on the local machine, and the installer doesn't like it. JDK gives the same error.
There are many ways for a Windows MQ install to fail. In a Windows environment one of the frequent reasons is that even though the ID performing the install is an administrator, it doesn't have the correct domain rights. These include, for example, to query the SAM on the Domain Controller.
Please see Configure IBM MQ accounts for instructions on how to configure the service account under which MQ will run. Obviously, the account performing the install must have a superset of the same rights. Since the question fails to mention this critical pre-req step, I'm assuming it hasn't been performed.
It is possible that prior installations or a failed install will leave artifacts on the server which interfere with subsequent installations. This is especially true when installing V8.0. Since there is at least one failed install in this case, I would recommend using the IBM provided cleanup tool as described in Spring Cleaning a Windows MQ Installation. This will remove old registry entries and directories that alter the behavior of the installer.
Branching out a bit further, the 1603 error from MSIEXEC is pretty generic. According to the good folks at MSIGEEK, the following are some common causes for that error:
Short file name creation is disabled on the target machine.
An Install Script custom action is prototyped incorrectly.
A file is locked and cannot be overwritten.
The Microsoft Windows Installer Service is not installed correctly.
The Windows Temp folders are full.
The full article on debugging 1603 errors is here.
In this specific case, it appears one or more WMQ product prerequisites is not installed:
MSI (c) (5C:B4) [15:31:48:820]: Doing action: iwiListProductPrereqs
Action 15:31:48: iwiListProductPrereqs. Listing the product prerequisites
Action start 15:31:48: iwiListProductPrereqs.
MSI (c) (5C:84) [15:31:48:826]: Invoking remote custom action. DLL: C:\Users\ga2svit\AppData\Local\Temp\MSI7642.tmp, Entrypoint: iwiListProductPrereqs
1: 15:31:48 MQCA (CaProlog)(CaProlog) info: amqiwicn.dll Built on Jun 15 2015 at 23:18:37; version 8.0.0.3, build p800-003-150615.2
1: 15:31:48 MQCA (CaProlog)(CaProlog) info: Property 'ProductName' value 'IBM WebSphere MQ' from property table
1: 15:31:48 MQCA (CaProlog)(CaProlog) info: Property 'AMQEXTCA60000' not defined in property table
1: 15:31:48 MQCA (CaProlog)(WhatMode) info: User name is 'ga2svit'
1: 15:31:48 MQCA (CaProlog)(WhatMode) info: MSIRUNMODE_ROLLBACKENABLED
1: 15:31:48 MQCA iwiListProductPrereqs(iwiListProductPrereqs) info: Property 'VersionNT' value '601' from property table
CustomAction iwiListProductPrereqs returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)
Action ended 15:31:48: iwiListProductPrereqs. Return value 3.
Everything T-Rob has said is valid and correct, however for this specific case, this feels like one you need to take up with IBM as a defect.
I've been looking through the source of the place you are failing and there is no valid codepath I can see from the last line you have traced before a subsequent line which would say something like "MMC prereq satisfied" (or not satisfied, or querying a property, but it would say something). This implies to me we have hit an unhandled exception in the code and hence aborted straight out. You could try a silent install to see if that helps, but I wouldnt hold out much hope.
So for me the thing it seems to be trying to do is to look in the system directory for mmc.exe - Does that exist on your system and if so look at its properties and what is the version of that file (right mouse in explorer, properties and find the one listing the file properties)
We saw this problem with the V8 MQ installer. I had Offline Files disabled on my Windows 7 box, and a coworker did not. He disabled Offline Files, rebooted, and the installer succeeded.
I have also encountered this error and upon further investigation I realized that (using the MQParms_silent.ini file) I had forgotten to un-comment the AGREETOLICENSE="yes" from the provided default.
Hope that helps.

How to create installer for WCF service,which is created in Visual Studio 2012(.net framework 4.5)?

I need to create installer package for WCF(service) class library,which i created in VS2012 with .net framework 4.5.
2.I try to install the service manually using VS2012 command prompt with the following link, http://www.youtube.com/watch?v=vTPCWrZedKI
Actually it put entry in Window services, when i try to start the service manually i am getting an error like "The service on local computer started and then stopped,Some services stop automatically if they are not in use by other services or programs.
I tried to fix those errors by changing to local system account and clearing the evenlog,
but nothing works fine for me.
I tried it using Advance installer by providing the dll file in Services tab,but it fails to start the service getting an error like "Verify that you have sufficient privileges to start the stystem sevices".
Please tell me how can i proceed further?
I don't need to use third party softwares like wix for creating installer package.
*Is there any way to achieve this task. If so please guide me and give me a sample application to achieve this task.*
I am spending more than 10 days for this task..
Awaiting for your repliessss!!!
Regards,
Lokesh.J

How do I create an auto updater for windows application running as a service?

I need to periodically distribute an updated set of files (DLL, javascript) as a patch release to multiple windows PCs of various versions (vista/XP/7 etc.). Currently I have a link on my website for each user to download the setup.exe file and manually install the patch (replaces the existing DLLs). In order to eliminate the manual process, I'm researching how to run a program automatically on windows (I assume that means a service) which will check my server periodically for an update, download it and automatically trigger the setup.exe (or some similar process to get the patch files replaced).
I'm not a windows developer per se, but have downloaded and tried to check various options (in order to not reinvent the wheel) such as Sparkle, DDay, CSAutoUpdater, Npackd and just started looking into Google Omaha - but most assume that check happens when the windows application is started using their libraries/components. I need to run an autoupdater independently of the app I'm trying to update - so I need to first get all users to run a setup.exe which should install and start my windows service so that it can run with windows daily to run a program to check, download and install the update.
I found some sample code for writing windows service on stackoverflow, codeproject also, but couldn't find how to autoinstall it (ideally with no UAC hassles for newer windows versions). All required using instalutil or some other manual process to install and start the service.
Any guidance on this would be great! Thanks - and apologies to the long winded question. Will update with additional results as I try out other products.
As you mentioned Npackd I would like to describe how this can be done using it.
I agree with selbie that the simplest solution would be to just create a task with Windows scheduler.
For Npackd you would need your own repository - an XML file accessible via HTTP, for example as http://www.yourserver.com/rep.xml . Here is a simple example for a repository: https://gist.github.com/raw/4132983/dabecde48c796d4fdfa2f645bb744ac58640572c/TestRepository.xml . A user would download Npackd (http://code.google.com/p/windows-package-manager/downloads/list) and add the URL to the list of repositories.
I would define 2 packages: one for the program itself and one for the auto-updater. This way if somebody wants to update the program manually, he can do this too.
You could create or delete a Windows task using the command line tool schtasks.exe available on every Windows system.
The update command itself would be also very simple:
npackdcl update --package=<package>
In order to eliminate the manual process, I'm researching how to run a program automatically on windows (I assume that means a service) which will check my server periodically for an update, download it and automatically trigger the setup.exe (or some similar process to get the patch files replaced).
You likely want the Windows Task Scheduler service for the "periodic" part of your statement. You use that to launch whatever code you would need to actually do the "check for update", download, copy, etc... I don't think you need a Windows Service.
You can likely script a Task Scheduler event. Or do it more programmatically with the API.
You can do as follow:
Maintain the version of the of the dll,exe etc in DB.
Check the version of the Installed version with the version in DB, before the application start up.
If the versions are diff, ask the user to update to the latest version from server.
If he clicks on YES. Update the files from server.
Prasad.

msi rolling back and no error logged

I am having a problem installing an msi on to a windows 2008 web server. The exact same msi previously installed successfully. The msi is for a .net 4.0 web application that I have created and being installed in to IIS.
What happens is that the msi seems to be installing correctly, and it reaches 0 seconds remaining on the progress bar, then suddenly it starts rolling back. I checked the event viewer for information on this but none appeared there, to assist with getting to the bottom of what the issue may be.
As the msi previously installed without issue on to the box, I believe the problem may be to do with a change to the server rather than to do with the msi.
Anyone experience this before or have an idea as to where I may be able to find more information as to why the msi installer is rolling back?
Ok, what I have done with the help of Bogdan Mitrache reply was to compare logs from a successfull server and the server causing the problem and this is the section where I found the error to occur:
FAILED: -2147024864
FAILED: -2147024864
Custom Action failed with code: '32'
Custom Action failed with code: '32'
Custom Action completed with return code: '32'
Info 1903. Scheduling reboot operation: Deleting file << root directory >>\TBD2D0E.tmp. Must reboot to complete operation.
Info 1903. Scheduling reboot operation: Deleting file << root directory >>\TBD2ED3.tmp. Must reboot to complete operation.
Info 1903. Scheduling reboot operation: Deleting file << root directory >>\TBD2F41.tmp. Must reboot to complete operation.
And then at the very end of the process:
Return value 3.
I have done searching on the internet but I have found no concrete reason as to why the above may be occuring. Anyone have further information on the above, or where i may look?
The best method to see exactly why the MSI package fails is to create a verbose log, using this command line: msiexec /i "msi path" /L*V "debug.log"
The log should contain more details about the cause of the rollback. As you suspected probably you have a duplicate IIS web site/app that conflicts with the package.
The return code mentioned in the log means this: "The process cannot access the file because it is being used by another process.". The reboot messages are automatically included by Windows Installer when a file that needs to be updated is currently in use.
According to Windows Installer standards, the return code of a custom action must be 0 to be considered it executed successfully. Any return code different from 0 is considered failure.
What you should do is to add another custom action, scheduled in the beginning of the installation, that stops any services/applications that could use resources updated by the package.
You should be using virtual machines with snapshots to rule out changes to the environment vs changes to the installer. And you should certainly be logging and reading your windows installer log.

What is the Cloud-Init equivalent for Windows?

It seems that the stock bootstrapping process is a bit lacking on Windows.
Linux has cloud-init which will install packages, store files, and run a bash script from user data.
Windows has ec2config but there is currently no support to run a cmd or powershell script when the system is "ready"--meaning that all the initial reboots are completed.
There seem to be third party options. For example RightScale has the RightLink agent which performs this function.
Are there open source options available?
Are there any plans to add this feature to Ec2Config?
Do I have to build this my self?
Am I missing something?
It appears that EC2Config on the Amazon-provided AMIs now supports "User Data Scripts" as of the 11-April-2012 updates.
The documentation has not yet been updated, so it's hard to tell if it supports PowerShell or just cmd.exe scripts. I've posted a question on the AWS forums to try and get some more detail, and will update here when I learn more.
UPDATE: It looks like cmd.exe batch syntax is supported, which can in turn invoke PowerShell. There's a new version of the EC2Config documentation included on the AMI. Quoting from it:
[EC2Config] will read in the user data specified for the instance and then check if it contain the tags <script> and </script>. If it finds both then it will take the information between those two tags and save it to a batch file located in the Settings folder of this application. It will then execute the batch file during the start of an instance.
The batch file will only be created and executed on the first launch of an instance after a sysprep. If you want to have the batch file created and executed again set the Ec2HandleUserdata plugin state to Enabled.
UPDATE 2: My interpretation is confirmed by Shon from the AWS Team
UPDATE 3: And as of the May-2012 AMIs, PowerShell is supported using the <powershell/> tag.
Cloudbase.it have opensourced a python windows service they call cloudbase-init which follows the configdrive and HTTP datasources.
http://www.cloudbase.it/cloud-init-for-windows-instances/
github here
https://github.com/stackforge/cloudbase-init/
I had to build one myself however it was very easy. Just made a service that reads the user-data when starts up and executes the file as a powershell script.
To get around the issue of not knowing when to start the service I just made the service start type as "delayed-auto" and that seemed to fix the problem. Depending on what you need to do to the system that may or may not work for you however in my case that was all I had to do.
I added a new codeplex project that already has this tool built for windows. Looking forward to some feedback.
http://cloudinitnet.codeplex.com/
We had to build it ourselves; we did it with a custom service and built our own AMIs. There's no provision currently within EC2Config to do it.
Even better, there is no easy way to determine when the instance is "ready". We had to do it by tailing the logfile of EC2Config.
I've recently found nssm (at nssm.cc) which easily wraps a simple batch file (or pretty much anything else) as a service. You can then us sc config servic1 depend= service0 to force the batch file to be run at a particular point in the service initialization sequence. I am using it in between ex2config and sql express to create a folder on d, for instance. You'll have to use the services tool to make it run as network services and change the AppExit property to Ignore using regedit, but it works once you get it all in place.

Resources