目前我有一个MSI执行重大升级,它发布为:
msiexec.exe /i installer.msi /qn REBOOT=ReallySuppress
Run Code Online (Sandbox Code Playgroud)
我的问题是关于特定属性REBOOT = ReallySuppress:这是否意味着它不会重新启动系统,但会在用户手动重启系统时进行适当的更改(如果应用)?或者它会忽略那些需要重启系统的东西?
我有一个程序,一旦单击按钮我想要一条消息显示将告诉用户计算机正在重新启动(使用ok/cancel选项),然后计算机将重新启动.然而,踢球者,我希望它重新启动到安全模式.然后,当用户登录到安全模式时,它将在启动时自动启动程序.
现在我意识到这可以通过编程方式使用/ safemode编辑boot.ini,任务一旦计算机登录就启动程序,然后告诉计算机重新启动.但是,假设最终用户没有足够的Windows知识来反转这些手动设置.
我想要的是,在最终用户完成Windows安全模式下的程序后,他们可以简单地重新启动计算机并继续使用Windows,而不必手动将任何设置更改为启动到安全模式之前的设置.
注意*将以安全模式运行的程序已经过测试,可以在安全模式下运行.我只需要知道如何让最终用户进入安全模式并自动运行程序,而最终用户不知道如何撤消这些设置.
有谁能建议一种方法来执行所有这些疯狂?C#或vb.net中的一个例子会很棒!
先感谢您!
本
我是部署桌面应用程序的新手,所以这是我第一次为我的软件构建安装程序.目前,我第一次安装它后运行我的软件,它崩溃了.在那之后,它运行良好.我仍然在调试这个问题,但我注意到安装后和运行软件之前立即重启似乎可以解决这个问题.
某些安装程序要求您在运行软件之前重新启动的常见原因是什么?
另外,为什么有些安装程序需要在完成安装之前重新启动?
提前致谢!
我的电脑上的一些应用程序一直在进行检测,而Windows Update是否重启了.这是可观察的,因为它们在自动Windows Update重新启动后重新启动.
这非常有用,因为这些应用程序会重新加载更改,甚至是未保存的更改或还原选项卡(如果是浏览器).执行此操作的应用程序示例:
在所有情况下,应用程序都会保存重启前的状态.
(我的PC实际上是从待机状态自动唤醒,并在安装更新时重新启动.太糟糕了,这样做后它没有回到待机状态.)
我的问题是:我如何以编程方式检测这种重启?它似乎在重启之前可靠地检测到.
问题我如何才能获得Windows最后一次重启原因可能看似重复,但没有回答任何关于更新的说法.
我在C#中编码,所以C#中的答案会有所帮助,但我也可以阅读C和C++.
我已经开发了一个C程序(Linux),这个程序创建一个新文件并写入,然后重新启动PC.
重启后,我丢失了程序创建的文件.当我停用重启功能时,我的程序创建的文件仍然存在.
在Linux上可以看到这种行为: - VirtualBox上的OpenWrt(Backfire 10.03)(文件系统ext2) - Linux(Ubuntu)(文件系统ext4)
您是否已解释此行为以及如何解决此问题?
#include <stdio.h>
#include <sys/reboot.h>
int main ()
{
FILE *pFile;
char mybuffer[80];
pFile = fopen ("/home/user/Desktop/example.txt","w");
if (pFile == NULL) perror ("Error opening file");
else
{
fputs ("test",pFile);
fclose (pFile);
}
rename("/home/user/Desktop/example.txt","/home/user/Desktop/example123.txt");
reboot(RB_AUTOBOOT);
return 0;
}
Run Code Online (Sandbox Code Playgroud) 我一直在尝试创建一个非常简单的Ansible playbook,它将重启服务器并等待它返回.
我在过去的Ansible 1.9上有一个有效,但我最近升级到2.1.1.0但它失败了.
我正在重启的主机名为idm,IP为192.168.200.23.
正在使用该命令从我的主机192.168.200.1运行该剧本
$ ansible-playbook reboot.yml -vvvv
Run Code Online (Sandbox Code Playgroud)
这是我正在使用的剧本
---
- hosts: idm
tasks:
- name: Restart server
become: yes
shell: sleep 2 && /sbin/shutdown -r now "Ansible system package upgraded"
- name: waiting 60 secs for server to come back
local_action: wait_for host=192.168.200.23 port=22 delay=60 connect_timeout=200
become: false
Run Code Online (Sandbox Code Playgroud)
它重新启动机器,但几乎立即失败了
<192.168.200.23> ESTABLISH SSH CONNECTION FOR USER: root
<192.168.200.23> SSH: EXEC ssh -C -vvv -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=root -o ConnectTimeout=10 -o …Run Code Online (Sandbox Code Playgroud) 我在Linux上使用bash shell ...
$ uname -a
Linux sandbox.mydomain.com 3.4.76-65.111.amzn1.x86_64 #1 SMP Tue Jan 14 21:06:49 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
虽然如果我能在任何bash支持的环境中提出解决方案会很好.我的问题是,在我的脚本中,我想安排在5秒内延迟重启我的服务器.到目前为止,我有以下内容,但需要60秒......
# Timed reboot of server
sudo shutdown -r 1
# Fail if any of the sub-deployments failed.
if [[ ( $PROC1_STATUS -ne 0 ) ||
( $PROC2_STATUS -ne 0 ) ||
( $PROC3_STATUS -ne 0 ) ]]
then
exit 1;
fi
Run Code Online (Sandbox Code Playgroud)
有没有人知道如何调整上述内容,除了在5秒而不是一分钟内进行定时重启?解决方案不必使用"关闭",但它是我能找到的唯一工具.
我正在 Ubuntu 14.04 上工作,我将 chmod +x 设置为一个文件,但是,当我重新启动计算机时,权限会发生变化。我怎样才能使 chmod 永久化?
我有以下 systemd 脚本:
[Unit]
Description=Hub docker container
After=docker.service
[Service]
User=root
ExecStart=/home/hub/hub.sh
ExecStop=/bin/docker stop hub
ExecStopPost=/bin/docker rm hub
[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)
运行命令:systemctl start/stop hub工作正常。我还使用systemctl enable hub创建了符号链接。为什么在我重新启动整个笔记本电脑后我的服务没有启动?我遵循了 docker 指南,以便 Docker 在重新启动时启动,但由于某种原因我的容器没有启动。我是否缺少脚本中的字段?
我正在使用我的 ExecStart,“/home/hub/hub.sh”脚本的命令是:
docker run --net=host --restart=always --name hub -t hub
Run Code Online (Sandbox Code Playgroud)
重新启动后,当我输入 systemctl status hub 时,我得到以下信息:
? hub.service - Hub docker container
Loaded: loaded (/etc/systemd/system/hub.service; enabled; vendor preset: disabled)
Active: inactive (dead)
Run Code Online (Sandbox Code Playgroud) 我的应用程序推送每日通知(这是正常工作),但设备重启后通知不会再次触发。
我正在尝试设置一个 BroadcastReceiver 来监听 BOOT_COMPLETED 无济于事。
AndroidManifest.xml:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
...
<receiver android:name=".helpers.notification.AlarmRebootReceiver"
android:enabled="false">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
Run Code Online (Sandbox Code Playgroud)
广播接收器:
public class AlarmRebootReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context oContext, Intent intent) {
try {
Intent notificationIntent = new Intent("android.media.action.DISPLAY_NOTIFICATION");
notificationIntent.addCategory("android.intent.category.DEFAULT");
String notificationMessage = TMLocale.getStringResourceByName("reminder_newthought");
String notificationTitle = TMLocale.getStringResourceByName("app_name");
TMNotification.Notify(notificationTitle, notificationMessage, Enum.ArtAndWordsNotification.NEWTHOUGHT, oContext);
TMNotification.cancelNewThoughtAlarm(oContext);
scheduleNewThoughtAlarm(oContext);
} catch (Exception e) {
ExceptionHandler.logException(e);
}
}
private void scheduleNewThoughtAlarm(Context oContext) {
Calendar cal = Calendar.getInstance();
int day = cal.get(Calendar.DAY_OF_MONTH);
int month = …Run Code Online (Sandbox Code Playgroud)