2014-06-12 5 views
2

저는 SQLite3 데이터베이스를 다루는 Python 프로그램을 연구하고있었습니다. cx_Freeze를 사용하여 MSI 설치 파일로 만들었습니다.cx_freeze msi 번들에서 바로 가기 작업 디렉토리를 설정하는 방법은 무엇입니까?

cx_Freeze가 생성 한 .msi 설치 파일에서 생성 된 Windows 바로 가기는 바로 가기의 작업 디렉터리 속성을 제공하지 않습니다. 따라서 바탕 화면에서 생성 된 바로 가기를 사용하여 실행 파일을 실행하면 데스크톱 자체에 데이터베이스 파일이 생성됩니다.

이것은 바로 가기에 다른 작업 디렉토리를 제공하여 변경할 수 있습니다. 어떻게해야합니까?

답변

5

cx_Freeze/windist.py를 약간 변경하여이 문제를 해결할 수있었습니다. add_config(), 라인 (61)에, 나는 변경 :

msilib.add_data(self.db, "Shortcut", 
     [("S_APP_%s" % index, executable.shortcutDir, 
       executable.shortcutName, "TARGETDIR", 
       "[TARGETDIR]%s" % baseName, None, None, None, 
       None, None, None, None)]) 

모두에게 감사

msilib.add_data(self.db, "Shortcut", 
     [("S_APP_%s" % index, executable.shortcutDir, 
       executable.shortcutName, "TARGETDIR", 
       "[TARGETDIR]%s" % baseName, None, None, None, 
       None, None, None, "TARGETDIR")]) # <--- Working directory. 

에.

관련 문제