<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def install_dir(self):
 """Returns application installation path. .. note:: If fails this falls back to a restricted interface, which can only be used by approved apps. :rtype: str """

        max_len = 500

        directory = self._get_str(self._iface.get_install_dir, [self.app_id], max_len=max_len)

        if not directory:
            # Fallback to restricted interface (can only be used by approved apps).
            directory = self._get_str(self._iface_list.get_install_dir, [self.app_id], max_len=max_len)

        return directory