You don't migrate the .exe signature. No need for it.
so while creating the native installer using -native option, I have to use the new certificate in the command ?
adt -package -target native -storetype pkcs12 -keystore myNewCert.p12 myApp.exe myApp.air
is that correct ?
That cert is for signing the .exe file. Yes, you should use the new one.
The old one might be expired already.
I am now getting below exception while running the new exe.
This application cannot be installed because this installer has been mis-configured. Please contact the application author for assistance.
in the app descriptor, I have maintained the old publisher id (since I don't want to loose data access in ELS) and have also increased the vesion no.
I couldn't find the install logs on the machine, to see the error details.
Any thoughts ?
ok, I see the logs now... it shows following:
[2010-10-26:13:08:10] The certificate of the installed app fails to match either the signature or migration signature of the AIR file
[2010-10-26:13:08:11] starting cleanup of temporary files
[2010-10-26:13:08:11] application installer exiting
[2010-10-26:13:08:11] Application installer failure (9)
[2010-10-26:13:08:11] Bootstrapper failure (9)
one more thing you might want to know..
there's a difference in the old and new certificate.
few changes, like the CN is the company name and the encryption is now 2048 instead of 1024
might this be impacting ?
This happens because you have the older version installed and the migration is not correct.
Are you sure you get the publisher id right? Make sure you uncomment the tag if you use a template.
The best way to figure out is finding the install log. Which version of the AIR runtime are you using?
This is the problem. Your migration signature doesn't match the installed one.
Are you sure you use the original certificate for migration?
The new cert doesn't matter. You have change the bits, etc.
AIR run time :220.127.116.1170
Yes,I am using the old certificate for migration. However I noticed I was getting following error while migrating.
a) first I got the "Could not create time stamp: timestamp.geotrust.com" exception. I am completely unsure why this error. I didn't use timestamp while generating the old version of the app using the old certificate few days back (before old certificate expired).
b) then I tried to migrate using -tsa none option so that it could migrate to new air.
If this is causing the problem, I need to figure out why I get the timestamp error mentioned in (a)
You have the timestamp error is because your machine was not connected to internet at that time.
You should make sure the network connection and repackage the files.
By default, adt uses timestamp. You didn't notice it, but adt uses timestamp.
But this should not affect your migration result. It only affect the result when your original cert expires more than 180 days.
I am connected to the internet. Checked both IE and FF.
I am able to package the app using new the certificate in my Flex Builder. Is there a specific setting that adt looks for ?
I tired changing the JRE network settings to see if its not configure for internet connection. But it is.
BTW I have been using the adt command to package my app to native, using the old certificate.
can we pass proxy settings as parameters to the adt ?
I am able to use adt command when signing the .air file to .exe using the new certificate . So not sure why I get the timestamp issue for old certificate.
my certificate expired on Oct 23.
You can set the proxy with ADT. You can edit the adt.bat file if you know how to do this.
If your old certificate has expired, you can not sign an AIR file with it. But you can migrate an AIR file with the cert as long as the cert hasn't expired more than 180 days.
the old certificate has just expired so it is within the grace period.
Can you let me know the command that I need to put in the adt.bat to include the proxy ? sorry, haven't done that before
@java -Dhttp.proxyHost=proxyHostname -Dhttp.proxyPort=proxyPort -jar "%~dp0\..\lib\adt.jar" %*
@java -jar -Dhttp.proxyHost=proxyHostname -Dhttp.proxyPort=proxyPort "%~dp0\..\lib\adt.jar" %*
doesn't work... is above correct ?
doesn't work either
1 person found this helpful
This issue has been resolved.
The problem is due to during the migration process, the in-air-file and out-air-file has the same file name.
The work around is changing the out-air-file to be different from the in-air-file.