Hello,
my updates msi code contains "delete files", "Create files and folder" command. Without setting NATIVE_ENGINE to true, this actions will not be execute. Is there another solution? ... Because when i use this Variable...patchs will not be installed . I tryed the command "apply changes" too, after my actions, but without NATIVE_ENGINE this command has no effect. I am very thankful for response.
Best regards
Sarah
Command "delete files" does not delete
-
FrancescoT
- Site Admin
- Posts: 5361
- Joined: Sun Aug 22, 2010 4:28 am
Re: Command "delete files" does not delete
Dear Sarah,
if you are referring to "Delete Files" and "Create Folder" commands, these are both Windows Installer commands (purple commands).
The effective execution of the Windows Installer commands when used with the Windows Installer engine, it is always deferred to Apply Install command execution. This means for example; if you use the "delete Command" to delete some files, these are not deleted when the command is executed (immediately) but when Apply Install command is fired.
So in your case, it is important to know if the files you are trying to delete are available at "Apply Install" execution.
If you are able to replicate your issue with a very very minimal project, I'll be happy to verify it.
I may also suggest you to have a look at the following link, where more info about the Purple commands are discussed;
http://www.installaware.com/forum/viewt ... f=2&t=4338
Regards
if you are referring to "Delete Files" and "Create Folder" commands, these are both Windows Installer commands (purple commands).
The effective execution of the Windows Installer commands when used with the Windows Installer engine, it is always deferred to Apply Install command execution. This means for example; if you use the "delete Command" to delete some files, these are not deleted when the command is executed (immediately) but when Apply Install command is fired.
So in your case, it is important to know if the files you are trying to delete are available at "Apply Install" execution.
If you are able to replicate your issue with a very very minimal project, I'll be happy to verify it.
I may also suggest you to have a look at the following link, where more info about the Purple commands are discussed;
http://www.installaware.com/forum/viewt ... f=2&t=4338
Regards
Francesco Toscano
InstallAware Software
White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Publications - http://www.installaware.com/publications-review.htm
InstallAware Help -F1 anywhere in the InstallAware IDE
InstallAware Software
White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Publications - http://www.installaware.com/publications-review.htm
InstallAware Help -F1 anywhere in the InstallAware IDE
Re: Command "delete files" does not delete
1.With the Windows Installer i get an error message after execution of the command : Apply install. I called after every (purple commands) that i need to execute immediately, the apply install command. I don't know why an error message comes...
2.Now i try to use the native_engine variable in my updates-msi code. Before every needed purple command(for example create folder) i set the native_engine to true, and after the command i set the native_engine to false. I try that and the result was successfull. Are there any side effects, when this updats-msi-code also installing patches?
Please could you explain me the following sentence of your docu:
"You cannot create binary differential patches for setups built with the native engine."
Does this mean, that when the msi-updates-code install a patch, i am not able to set the native_engine to true, for creating a folder and then set it to false again? Below you see a little part of my msi-updates-code....Is this correct?
"...Run Program $_Supportdir_$\$UPDATE_NAME$.exe $UPDATE_PARAMETERS$ $SILENTVAR$ REBOOTCOMPUTER=FALSE RUNAPP=FALSE REBOOTNOW=CANCEL (WAIT, get result into variable INSTALL_UPDATE_SUCCESS)
if Variable UPDATE_DOWNLOADED_EXIST Equals TRUE
Set Variable NATIVE_ENGINE to TRUE
Delete Files $_Supportdir_$\VARIABLES\UPDATE_DOWNLOADED.txt (when installing)
Set Variable NATIVE_ENGINE to FALSE
end...."
Best regards
Sarah
2.Now i try to use the native_engine variable in my updates-msi code. Before every needed purple command(for example create folder) i set the native_engine to true, and after the command i set the native_engine to false. I try that and the result was successfull. Are there any side effects, when this updats-msi-code also installing patches?
Please could you explain me the following sentence of your docu:
"You cannot create binary differential patches for setups built with the native engine."
Does this mean, that when the msi-updates-code install a patch, i am not able to set the native_engine to true, for creating a folder and then set it to false again? Below you see a little part of my msi-updates-code....Is this correct?
"...Run Program $_Supportdir_$\$UPDATE_NAME$.exe $UPDATE_PARAMETERS$ $SILENTVAR$ REBOOTCOMPUTER=FALSE RUNAPP=FALSE REBOOTNOW=CANCEL (WAIT, get result into variable INSTALL_UPDATE_SUCCESS)
if Variable UPDATE_DOWNLOADED_EXIST Equals TRUE
Set Variable NATIVE_ENGINE to TRUE
Delete Files $_Supportdir_$\VARIABLES\UPDATE_DOWNLOADED.txt (when installing)
Set Variable NATIVE_ENGINE to FALSE
end...."
Best regards
Sarah
-
FrancescoT
- Site Admin
- Posts: 5361
- Joined: Sun Aug 22, 2010 4:28 am
Re: Command "delete files" does not delete
Dear Sarah,
honestly, I don't understand in which sequence you are using these Windows Installer commands ... but I'm quite sure (as I said with my previously post), that you are not executing them with the proper sequence.
As already said, Windows Installer commands are not executed immediately when used with Windows Installer engine, but deferred to Apply Install command execution.
Supposing that your package wants to delete a file that is part of your installation, this file will be available on target system only after Apply Install command execution. Said this and supposing that you want to delete it, this can be deleted only after Apply Install ... otherwise the delete command will fail.
As you already done, Windows Installer commands can be executed immediately if placed within a NATIVE ENGINE "ON OFF" sequence. Due the fact that IA NATIVE ENGINE do not use Windows Installer Engine, all the commands executed in this way are not added to Windows Installer Database.
Consequently, there is no track of these actions in the Windows Installer Sequence. This means that if your package copies a file to the target system using NATIVE ENGINE feature, the file will be not removed by Windows installer when you un-install the package.
The note in IA documentation; "You cannot create binary differential patches for setups built with the native engine.", it is referred to project that are fully built with NATIVE ENGINE!
Of course you can use the NATIVE ENGINE command to force an immediate folder creation and this even with a patch, but it is important to keep in mind the different engines behaviors.
Hope this helps you.
Regards
honestly, I don't understand in which sequence you are using these Windows Installer commands ... but I'm quite sure (as I said with my previously post), that you are not executing them with the proper sequence.
As already said, Windows Installer commands are not executed immediately when used with Windows Installer engine, but deferred to Apply Install command execution.
Supposing that your package wants to delete a file that is part of your installation, this file will be available on target system only after Apply Install command execution. Said this and supposing that you want to delete it, this can be deleted only after Apply Install ... otherwise the delete command will fail.
As you already done, Windows Installer commands can be executed immediately if placed within a NATIVE ENGINE "ON OFF" sequence. Due the fact that IA NATIVE ENGINE do not use Windows Installer Engine, all the commands executed in this way are not added to Windows Installer Database.
Consequently, there is no track of these actions in the Windows Installer Sequence. This means that if your package copies a file to the target system using NATIVE ENGINE feature, the file will be not removed by Windows installer when you un-install the package.
The note in IA documentation; "You cannot create binary differential patches for setups built with the native engine.", it is referred to project that are fully built with NATIVE ENGINE!
Of course you can use the NATIVE ENGINE command to force an immediate folder creation and this even with a patch, but it is important to keep in mind the different engines behaviors.
Hope this helps you.
Regards
Francesco Toscano
InstallAware Software
White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Publications - http://www.installaware.com/publications-review.htm
InstallAware Help -F1 anywhere in the InstallAware IDE
InstallAware Software
White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Publications - http://www.installaware.com/publications-review.htm
InstallAware Help -F1 anywhere in the InstallAware IDE
Re: Command "delete files" does not delete
Hello,
thanks...i had problems with the using of the NATIVE_ENGINE variable. Now i understand how to use it. It solves the issue "Patch is not installed" too.
Best regards
Sarah
thanks...i had problems with the using of the NATIVE_ENGINE variable. Now i understand how to use it. It solves the issue "Patch is not installed" too.
Best regards
Sarah

