Community Forums
Results 1 to 2 of 2

Thread: Application upgrade from 32 bit to 64 bit

  1. #1
    Join Date
    Feb 2015
    Posts
    1

    Post 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;
    	}

  2. #2
    Join Date
    Aug 2016
    Posts
    2
    Hi,

    Can you please let me know how did you resolve this problem?

    Thanks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •