C# Winform打包部署时添加注册表信息实现开机启动.

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# Winform打包部署时添加注册表信息实现开机启动.相关的知识,希望对你有一定的参考价值。

开机后程序运行环境在C:\Documents and Settings\Administrator,而不是程序安装路径。
请问如何解决?
注册表配置图如下表:

参考技术A string KJLJ = Application.ExecutablePath;
            if (!System.IO.File.Exists(KJLJ))//判断指定文件是否存在
                return;
            string newKJLJ = KJLJ.Substring(KJLJ.LastIndexOf("\\\\") + 1);
            RegistryKey Rkey = Registry.LocalMachine.OpenSubKey("SOFTWARE\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\Run", true);
            if (Rkey == null)
            
                Rkey = Registry.LocalMachine.CreateSubKey("SOFTWARE\\\\Microsoft\\\\Windows\\\\CurrentVersion\\\\Run");
            
            Rkey.SetValue(newKJLJ, KJLJ)

这个是我之前写的开机启动,我没有写在打包部署里,而是程序启动的public Form1()里,每次启动都检查注册表有没有自启动,没有加上!

 

你只需要把KJLJ这个变量赋值你的路径即可

追问

兄弟,我的问题你可能还没明白。
我的程序已经加入到注册表了,但是电脑启动的时候,程序自启动的时候位置是在C:\Documents and Settings\Administrator这里,在这里找相关程序文件或生成文件,而不是安装路径。故问题出现了

追答

我的意思你的自启动可以换我这种方式。。。或者用我这种方式修改你注册表里自启动的路径

追问

效果一样哈,没啥区别

追答

什么效果一样?

VS2013打包部署winform程序

http://www.tuicool.com/articles/vMfMJr

 

http://www.itnose.net/detail/6085548.html

 

 

第一步:公司名称和程序名称不需要更改的话直接设置语言,更改字体

 第二步:添加 .NET Framework package ,版本视自己的程序而定

  第三步:添加程序文件,现在就需要打开自己的程序位置,看看bin/Release路径下有没有文件,如果没有就要把解决方案配置改为Release模式然后重新生成解决方案。生成完毕Release下的所有文件都添加进去,如果是分层写的程序,每层的Release文件夹的内容都要添加。

 

 第四步:设置快捷方式

 第五步:打开解决方案下Releases,设置Setup.exe,最后把解决方案配置改成SingleImage(生成单一映像),重新生成解决方案后程序就打包好了。

以上是关于C# Winform打包部署时添加注册表信息实现开机启动.的主要内容,如果未能解决你的问题,请参考以下文章

C# Winform项目打包问题

[Winform]setupfactory打包时添加开机自启动的脚本

c# winform 打包问题

(22)C# windows打包部署

用C#写了个winform程序,怎样做成安装软件供及其安装使用?

C# winform程序,怎么实现菜单的功能