現在Pythonでクリップボードを用いたソフトを作り終え,cx_freezeでexe化しました.
今回,インストーラを使ってみたかったのでsetup.pyを書きインストーラを作ったのですが,インストール先が,Program Filesフォルダなどだと,管理者権限でexeを起動しないと起動するもののクリップボードを使用することができないなど正常に動きません.
setup.pyで常に管理者権限で起動するみたいな設定はないのでしょうか
ちなみにデスクトップなどにインストールすると管理者権限なしでちゃんと動作します.
setup.pyを書く際にこちらのサイトを参考にさせてもらいました.
色々調べたんですが具体的なのが見つからなかったので考えられる解決策は上のようにdesktopとかに保存するようにするか別のexe化pyinstallerとかを試すとかが自分ができる解決案ですかね.
pyinstallerはファイルを一つにできたりと便利ですが起動が遅くなるのであまり使いたくはないんですが
setup.pyのコードを一応乗せておきます
Python
1import sys 2from cx_Freeze import setup, Executable 3 4name = "Name" 5version = "1.0" 6description = "test" 7author = "author" 8 9shortcut_table = [ 10 ('DesktopShortcut', # Shortcut 11 'DesktopFolder', # Directory_ 12 "QRDecoder", # Name 13 'TARGETDIR', # Component_ 14 '[TARGETDIR]test.exe', # Target 15 None, # Arguments 16 None, # Description 17 None, # Hotkey 18 None, # Icon 19 None, # IconIndex 20 None, # ShowCmd 21 'TARGETDIR', # WkDir 22 ) 23 ] 24 25 26# Table dictionary 27msi_data = {'Shortcut': shortcut_table} 28 29build_exe_options = {'packages': ["os"], 30 'excludes': ["PyQt4","PyQt5"], 31 'includes': ["sys","tkinter","PIL","pyzbar"], 32 'include_files': ["icons/"]} 33 34bdist_msi_options = {'upgrade_code': upgrade_code, 35 'add_to_path': False, 36 'data': msi_data 37} 38 39options = { 40 'build_exe': build_exe_options, 41 'bdist_msi': bdist_msi_options 42} 43 44base = None 45 46if sys.platform == "win32" : base = "Win32GUI" 47 48exe = Executable(script = "test.py", 49 targetName="test.exe", 50 base= base, 51 icon = "icons/icon.ico") 52 53setup(name=name, 54 version=version, 55 author=author, 56 description=description, 57 options=options, 58 executables=[exe] 59 ) 60
あなたの回答
tips
プレビュー