This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallAnywhere
- :
- InstallAnywhere Forum
- :
- Application upgrade from 32 bit to 64 bit
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
Feb 19, 2015
03:30 PM
Application upgrade from 32 bit to 64 bit
Is it possible to detect a 32 bit version of the same application when you use 64 bit installer with InstallAnlywhere?
We used to supply 32-bit only installer an now we want to use 64 bit installer and be able to upgrade previous versions using 64 bit VM and install it as 64 bit application.
At this point IA can't detect 32 bit version installed on the endpoint, where is a code snippet :
Is there a way to tell 64 bit installer to look in 32 bit location ?
[CODE]
private void findIAProduct(IAProxy proxy, ProductRegistryService service) {
rootIA = findProduct(service, IA_PRODUCT_UUID);
if(null != rootIA){
installLocation = rootIA.getLocation();
log.logEvent("Install location (IA): " + installLocation);
File rootDir = new File(installLocation);
if(!rootDir.exists()) {
log.logEvent(Log.WARNING, "IA registry points to removed product");
cleanIARegistry(proxy);
rootIA = null;
} else {
Feature[] features = rootIA.getFeatures();
for(Feature feature : features){
if(null == adminIA && feature.getKeyName().equalsIgnoreCase(IA_ADMIN_NAME)){
log.logEvent("Component: " + IA_ADMIN_NAME + " found in IA registry");
adminIA = feature;
}
}
}
}
}
private Product findProduct(ProductRegistryService service, String prodUUID) {
log.logEvent("begin");
Product retVal = null;
SoftwareObjectSearchCriteria crit = new SoftwareObjectSearchCriteria();
crit.setUniqueID(prodUUID);
Product[] products = null;
try{
products = service.getProducts(crit);
}
catch(Exception e){
log.logEvent("The IA registry does not exist");
products = null;
}
if(null != products){
if(products.length > 0){
log.logEvent("Product with uuid: " + prodUUID + " found in IA registry");
retVal = products[0];
}
else{
log.logEvent("Product with uid: " + prodUUID + " not found in IA registry");
}
}
log.logEvent("end");
return retVal;
}
[/CODE]
We used to supply 32-bit only installer an now we want to use 64 bit installer and be able to upgrade previous versions using 64 bit VM and install it as 64 bit application.
At this point IA can't detect 32 bit version installed on the endpoint, where is a code snippet :
Is there a way to tell 64 bit installer to look in 32 bit location ?
[CODE]
private void findIAProduct(IAProxy proxy, ProductRegistryService service) {
rootIA = findProduct(service, IA_PRODUCT_UUID);
if(null != rootIA){
installLocation = rootIA.getLocation();
log.logEvent("Install location (IA): " + installLocation);
File rootDir = new File(installLocation);
if(!rootDir.exists()) {
log.logEvent(Log.WARNING, "IA registry points to removed product");
cleanIARegistry(proxy);
rootIA = null;
} else {
Feature[] features = rootIA.getFeatures();
for(Feature feature : features){
if(null == adminIA && feature.getKeyName().equalsIgnoreCase(IA_ADMIN_NAME)){
log.logEvent("Component: " + IA_ADMIN_NAME + " found in IA registry");
adminIA = feature;
}
}
}
}
}
private Product findProduct(ProductRegistryService service, String prodUUID) {
log.logEvent("begin");
Product retVal = null;
SoftwareObjectSearchCriteria crit = new SoftwareObjectSearchCriteria();
crit.setUniqueID(prodUUID);
Product[] products = null;
try{
products = service.getProducts(crit);
}
catch(Exception e){
log.logEvent("The IA registry does not exist");
products = null;
}
if(null != products){
if(products.length > 0){
log.logEvent("Product with uuid: " + prodUUID + " found in IA registry");
retVal = products[0];
}
else{
log.logEvent("Product with uid: " + prodUUID + " not found in IA registry");
}
}
log.logEvent("end");
return retVal;
}
[/CODE]
(1) Reply