I have some components that unzip some zip files. If unzip fails for whatever reason, I want the component to show as not installed, so if the user downloads the zip file again, he can try reinstall it (otherwise reinstall will show the component as installed and disabled). Is that possible to change the installed status in postInstallationActionList? I tried to set project.component(xx).selected in onErrorActionList, but doesn't work. I tried to move that code to postInstallationActionList but doesn't work either.

        <component>
          ...   
          <folderList>
            <folder>
              <destination>${installdir}</destination>
              ...
              <actionList>
               <unzip>
      <destinationDirectory>${installdir}</destinationDirectory>
                <zipFile>${installer_directory}/x.zip</zipFile>
      <abortOnError>0</abortOnError>
      <onErrorActionList>
        <!-- if error, set this component as not installed-->
        <setInstallerVariable>
          <name>project.component(xx).selected</name>
          <value>0</value>
        </setInstallerVariable>
      </onErrorActionList>
               </unzip>
              </actionList>
            </folder>
This question is marked "community wiki".

asked 28 Sep '12, 19:27

gt8967884's gravatar image

gt8967884
116747678
accept rate: 12%


InstallBuilder does not currently allow marking a component as not installed or as requiring reinstallation.

As a workaround, you can keep the zip file on disk and store the information that the zip archive has to be re-unzipped next time. This, however, will not cause a re-download of the file.

Could you provide more background on what you are trying to achieve and if there is a reason for using zip file rather than built-in component format? If the download of .pak component fails, the component would not be marked as installed.

If the issue is potential re-downloads and sizes of components, InstallBuilder currently only allows re-downloading of the files if the installer was not stopped and if the server allows HTTP file resuming. Also, feature to improve the download mechanism to allow re-downloading even if installer was stopped is already in our bug tracking system, so if this would resolve the original issue.

link

answered 01 Oct '12, 03:37

wojciechka's gravatar image

wojciechka ♦♦
7.8k61122
accept rate: 26%

I'm not using installer to do the download part as I'm afraid it won't support all different kind of proxies (firewalls). My software is so huge, I can't put it into one installer. So I put each component into a zip file, let user pick which ones they want to download. In case a file downloaded is corrupt (although it is rare), I want user to be able to download and try to install it again. Right now reinstall will show the component as installed and disabled. User will have to uninstall the component first, then reinstall.

(02 Oct '12, 14:20) gt8967884
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Tags:

×3
×1

Asked: 28 Sep '12, 19:27

Seen: 737 times

Last updated: 02 Oct '12, 14:20