<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def accept(self, evt):

 """
 write setting to the preferences
 """

        # determine if application is a script file or frozen exe (pyinstaller)
        frozen = getattr(sys, 'frozen', False)
        if frozen:
            app_file = sys.executable
        else:
            app_file = PathStr(__main__.__file__).abspath()

        if self.cb_startmenu.isChecked():
            # TODO: allow only logo location
            # icon = app_file.dirname().join('media', 'logo.ico')
            StartMenuEntry(self.name, app_file, icon=self.icon,
                           console=False).create()

        if self.cb_mime.isChecked():
            # get admin rights
            if not isAdmin():
                try:
                    # run this file as __main__ with admin rights:
                    if frozen:
                        cmd = "from %s import embeddIntoOS\nembeddIntoOS('%s', '%s', '%s')" % (
                            __name__, '', self.ftype, self.name)
                        # in this case there is no python.exe and no moduly.py to call
                        # thats why we have to import the method and execute it
                        runAsAdmin((sys.executable, '-exec', cmd))
                    else:
                        runAsAdmin((sys.executable, __file__,
                                    app_file, self.ftype, self.name))
                except:
                    print('needs admin rights to work')
            else:
                embeddIntoOS(app_file, self.ftype, self.name)

        QtWidgets.QDialog.accept(self)